LockContention failures

Bug #704634 reported by John A Meinel on 2011-01-18
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu Distributed Development
High
Unassigned

Bug Description

When package-importer gets a LockContention while trying to push up an import, it should reset its state and retry later.

The idea is that if you are getting write lock contention, that means someone is probably uploading the update that you think you are going to be pushing, and we would rather just use their upload.

Currently this exact traceback is set as a retry-the-import condition. It should be more explicitly done inside the code.

Unable to obtain lock held by <email address hidden>
at crowberry [process #31466], acquired 0 seconds ago.
See "bzr help break-lock" for more.
Traceback (most recent call last):
  File "/srv/package-import.canonical.com/new/scripts/import_package.py", line 1070, in <module>
    local_branches=options.local_branches))
  File "/srv/package-import.canonical.com/new/scripts/import_package.py", line 1008, in main
    push_branches_back(package, temp_dir, bstore, possible_transports, local_branches)
  File "/srv/package-import.canonical.com/new/scripts/import_package.py", line 685, in push_branches_back
    overwrite=overwrite)
  File "/srv/package-import.canonical.com/new/scripts/import_package.py", line 394, in push_branch
    dir_to.push_branch(br_from, overwrite=overwrite)
  File "/usr/lib/python2.5/site-packages/bzrlib/bzrdir.py", line 1285, in push_branch
    overwrite, stop_revision=revision_id)
  File "/usr/lib/python2.5/site-packages/bzrlib/branch.py", line 971, in push
    *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/branch.py", line 3115, in push
    _override_hook_source_branch=_override_hook_source_branch)
  File "/usr/lib/python2.5/site-packages/bzrlib/branch.py", line 2929, in _run_with_write_locked_target
    target.lock_write()
  File "/usr/lib/python2.5/site-packages/bzrlib/remote.py", line 2377, in lock_write
    remote_tokens = self._remote_lock_write(token)
  File "/usr/lib/python2.5/site-packages/bzrlib/remote.py", line 2367, in _remote_lock_write
    repo_token or '', **err_context)
  File "/usr/lib/python2.5/site-packages/bzrlib/remote.py", line 52, in _call
    return self._client.call(method, *args)
  File "/usr/lib/python2.5/site-packages/bzrlib/smart/client.py", line 132, in call
    result, protocol = self.call_expecting_body(method, *args)
  File "/usr/lib/python2.5/site-packages/bzrlib/smart/client.py", line 145, in call_expecting_body
    method, args, expect_response_body=True)
  File "/usr/lib/python2.5/site-packages/bzrlib/smart/client.py", line 81, in _call_and_read_response
    expect_body=expect_response_body),
  File "/usr/lib/python2.5/site-packages/bzrlib/smart/message.py", line 306, in read_response_tuple
    _translate_error(self.args)
  File "/usr/lib/python2.5/site-packages/bzrlib/smart/message.py", line 353, in _translate_error
    raise errors.LockContention('(remote lock)')
bzrlib.errors.LockContention: Could not acquire lock "(remote lock)":

Vincent Ladeuil (vila) on 2011-03-24
Changed in udd:
assignee: nobody → canonical-bazaar (canonical-bazaar)
importance: Low → High
Vincent Ladeuil (vila) on 2012-06-15
Changed in udd:
assignee: canonical-bazaar (canonical-bazaar) → nobody
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers