unable to push to packs-based smart server

Bug #156546 reported by Charles Duffy
12
Affects Status Importance Assigned to Milestone
Bazaar
Fix Released
Critical
Robert Collins

Bug Description

Bazaar (bzr) 0.92.0.dev.0
  from bzr checkout /afs/isgenesis.com/user/ccd/bzr-packs.rcollins
    revision: 2852
    revid: <email address hidden>
    branch nick: bzr-packs.rcollins
  Python interpreter: /usr/bin/python 2.4.4.final.0
  Python standard library: /usr/lib/python2.4
  bzrlib: /afs/isgenesis.com/user/ccd/bzr-packs.rcollins/bzrlib
  Bazaar configuration: /afs/isgenesis.com/user/ccd/.bazaar
  Bazaar log file: /afs/isgenesis.com/user/ccd/.bzr.log

(same version on both client and server; server is operating against a packs-backend repository)

===

$ time bzr-packs push bzr://gentoo-mirror.isgenesis.com/upstream-portage-tree
bzr: ERROR: Could not understand response from smart server: ('error', "<bound method GraphKnitRepository.leave_lock_in_place of GraphKnitRepository('chroot-47750944724688:///.bzr/repository/')>")

real 5m20.247s
user 3m11.316s
sys 0m2.972s

===

Traceback (most recent call last):
  File "/home/gentoo-mirror/bzr-packs.rcollins/bzrlib/smart/protocol.py", line 103, in accept_bytes
    self.request.dispatch_command(req_args[0], req_args[1:])
  File "/home/gentoo-mirror/bzr-packs.rcollins/bzrlib/smart/request.py", line 171, in dispatch_command
    self._run_handler_code(self._command.execute, args, {})
  File "/home/gentoo-mirror/bzr-packs.rcollins/bzrlib/smart/request.py", line 182, in _run_handler_code
    result = self._call_converting_errors(callable, args, kwargs)
  File "/home/gentoo-mirror/bzr-packs.rcollins/bzrlib/smart/request.py", line 193, in _call_converting_errors
    return callable(*args, **kwargs)
  File "/home/gentoo-mirror/bzr-packs.rcollins/bzrlib/smart/request.py", line 65, in execute
    return self.do(*args)
  File "/home/gentoo-mirror/bzr-packs.rcollins/bzrlib/smart/repository.py", line 51, in do
    return self.do_repository_request(repository, *args)
  File "/home/gentoo-mirror/bzr-packs.rcollins/bzrlib/smart/repository.py", line 171, in do_repository_request
    repository.leave_lock_in_place()
  File "/afs/isgenesis.com/user/ccd/bzr-packs.rcollins/bzrlib/repofmt/pack_repo.py", line 1491, in leave_lock_in_place
    raise NotImplementedError(self.leave_lock_in_place)
NotImplementedError: <bound method GraphKnitRepository.leave_lock_in_place of GraphKnitRepository('chroot-47750944724688:///.bzr/repository/')>

Tags: packs
Revision history for this message
John A Meinel (jameinel) wrote :

In discussing this with Robert, there are 2 pieces.

a) leave_lock_in_place() was actually supposed to be optional for implementations
b) Pack style repositories shouldn't actually be locking at this level. The physical (on-disk) lock is only taken out when updating the pack names list, and should be done by the smart server, and not the client.

Changed in bzr:
importance: Undecided → Critical
status: New → Triaged
Revision history for this message
Robert Collins (lifeless) wrote :

Don't need to block a release, but will affect most users that try packs.

Changed in bzr:
importance: Critical → High
Martin Pool (mbp)
Changed in bzr:
milestone: none → 1.0rc1
Martin Pool (mbp)
Changed in bzr:
importance: High → Critical
Martin Pool (mbp)
Changed in bzr:
status: Triaged → Confirmed
Changed in bzr:
assignee: nobody → lifeless
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.