** Description changed:
When bzr 1.13.1 and earlier push a stacked branch they do not take care
to push all the parent inventories for the transferred revisions. This
means that a smart server serving that branch often cannot calculate
inventory deltas for the branch (because smart server does not/cannot
open fallback repositories). Prior to 1.13 the server did not have a
verb to stream revisions out of a repository, so that's why this bug has
appeared now.
This manifests as exceptions from the server involving
'AbsentContentFactory'.
e.g. The exception below occurred while pulling lp:~rivenx/rivenx/domes
using bzr.dev r4237.
bzr: ERROR: bzrlib.errors.ErrorFromSmartServer: Error received from
smart server: ('error', "'AbsentContentFactory' object has no attribute
'get_bytes_as'")
Traceback (most recent call last):
File "/Library/Python/2.6/site-packages/bzrlib/commands.py", line 727, in
exception_to_return_code
return the_callable(*args, **kwargs)
File "/Library/Python/2.6/site-packages/bzrlib/commands.py", line 922, in
run_bzr
ret = run(*run_argv)
File "/Library/Python/2.6/site-packages/bzrlib/commands.py", line 559, in
run_argv_aliases
return self.run(**all_cmd_args)
File "/Library/Python/2.6/site-packages/bzrlib/builtins.py", line 1103, in
run
source_branch=br_from)
File "/Library/Python/2.6/site-packages/bzrlib/bzrdir.py", line 1139, in
sprout
result_repo.fetch(source_repository, revision_id=revision_id)
File "/Library/Python/2.6/site-packages/bzrlib/repository.py", line 1465,
in fetch
find_ghosts=find_ghosts, fetch_spec=fetch_spec)
File "/Library/Python/2.6/site-packages/bzrlib/decorators.py", line 192, in
write_locked
result = unbound(self, *args, **kwargs)
File "/Library/Python/2.6/site-packages/bzrlib/repository.py", line 2991,
in fetch
pb=pb, find_ghosts=find_ghosts)
File "/Library/Python/2.6/site-packages/bzrlib/fetch.py", line 84, in
__init__
self.__fetch()
File "/Library/Python/2.6/site-packages/bzrlib/fetch.py", line 110, in
__fetch
self._fetch_everything_for_search(search)
File "/Library/Python/2.6/site-packages/bzrlib/fetch.py", line 138, in
_fetch_everything_for_search
stream, from_format, [])
File "/Library/Python/2.6/site-packages/bzrlib/repository.py", line 3791,
in insert_stream
return self._locked_insert_stream(stream, src_format)
File "/Library/Python/2.6/site-packages/bzrlib/repository.py", line 3819,
in _locked_insert_stream
for substream_type, substream in stream:
File "/Library/Python/2.6/site-packages/bzrlib/remote.py", line 1709, in
missing_parents_chain
for kind, substream in stream:
File "/Library/Python/2.6/site-packages/bzrlib/smart/repository.py", line
447, in record_stream
for bytes in byte_stream:
File "/Library/Python/2.6/site-packages/bzrlib/smart/message.py", line 336,
in read_streamed_body
_translate_error(self._body_error_args)
File "/Library/Python/2.6/site-packages/bzrlib/smart/message.py", line 355,
in _translate_error
raise errors.ErrorFromSmartServer(error_tuple)
ErrorFromSmartServer: Error received from smart server: ('error',
"'AbsentContentFactory' object has no attribute 'get_bytes_as'")
bzr 1.14dev on python 2.6.1 (darwin)
arguments: ['/usr/local/bin/bzr', 'branch', 'lp:~rivenx/rivenx/domes']
encoding: 'UTF-8', fsenc: 'utf-8', lang: 'en_US.UTF-8'
plugins:
bzrtools
/Library/Python/2.6/site-packages/bzrlib/plugins/bzrtools [1.13]
keychain_credential_store
/Volumes/Crossroads/bahamut/.bazaar/plugins/keychain_credential_store [0.1dev]
launchpad
/Library/Python/2.6/site-packages/bzrlib/plugins/launchpad [unknown]
netrc_credential_store
/Library/Python/2.6/site-packages/bzrlib/plugins/netrc_credential_store
[unknown]
svn /Volumes/Crossroads/bahamut/.bazaar/plugins/svn
[0.5.4dev]
*** Bazaar has encountered an internal error.
Please report a bug at https://bugs.launchpad.net/bzr/+filebug
including this traceback, and a description of what you
were doing when the error occurred.
- bzr.dev and 1.14rc2 have been fixed to push up complete branches always, and
a fix for the server to make unfixed clients send the missing records has been
sent to the list for review.
+ bzr.dev and 1.14rc2 have been fixed to push up complete branches always, and
bzr.dev has a fix for the server to make unfixed clients send the missing
records.
+
+ So upgrading clients to 1.14rc2 or newer fixes this bug. Alternatively
+ upgrading the server to bzr.dev r4307 and using 1.13 or newer clients to
+ push via HPSS fixes this too.
Workarounds
----------------
- There are multiple workarounds. In rough order of preference:
+ There are multiple workarounds for dealing with an affected branch. In
+ rough order of preference:
- Use the 'foo.py' script Robert has attached to this bug to repair the
affected branch (by fetching the missing parts from the stacked-on repository)
- Delete the affected branch and repush it with a fixed client (1.14rc2 or
newer)
- Use non-smart URLs to access an affected branch, e.g. sftp:// or
nosmart+bzr+ssh://. This works because the client can access the stacked-on
repository, and the missing data is present there.
--
ErrorFromSmartServer - AbsentContentFactory object has no attribute
'get_bytes_as' exception while pulling from Launchpad
https://bugs.launchpad.net/bugs/354036
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs