Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

AttributeError: 'ClientStorage' object has no attribute '_lock_acquire' #1

Closed
alexdante opened this Issue November 09, 2011 · 4 comments

3 participants

alexdante Asko Soukka Mikko Ohtamaa
alexdante

I'm running Plone 4.1.2 on Centos 5.6. Using the version of sauna.reload currently in the repo, and following the setup instructions provided, I get these sauna.reload errors during start up:

2011-11-09 18:53:16 INFO sauna.reload.parent Fork loop starting on parent. PID 28669
2011-11-09 18:53:16 INFO sauna.reload.child Forked new child. Installing reloadable products...
Traceback (most recent call last):
  File "/opt/plone41/buildout-cache/eggs/Zope2-2.13.10-py2.6.egg/Zope2/Startup/run.py", line 72, in <module>
    run()
  File "/opt/plone41/buildout-cache/eggs/Zope2-2.13.10-py2.6.egg/Zope2/Startup/run.py", line 21, in run
    starter.prepare()
  File "/opt/plone41/buildout-cache/eggs/Zope2-2.13.10-py2.6.egg/Zope2/Startup/__init__.py", line 96, in prepare
    self.sendEvents()
  File "/opt/plone41/buildout-cache/eggs/Zope2-2.13.10-py2.6.egg/Zope2/Startup/__init__.py", line 69, in sendEvents
    notify(ProcessStarting())
  File "/opt/plone41/buildout-cache/eggs/zope.event-3.5.1-py2.6.egg/zope/event/__init__.py", line 31, in notify
    subscriber(event)
  File "/opt/plone41/buildout-cache/eggs/zope.component-3.9.5-py2.6.egg/zope/component/event.py", line 24, in dispatch
    zope.component.subscribers(event, None)
  File "/opt/plone41/buildout-cache/eggs/zope.component-3.9.5-py2.6.egg/zope/component/_api.py", line 136, in subscribers
    return sitemanager.subscribers(objects, interface)
  File "/opt/plone41/buildout-cache/eggs/zope.component-3.9.5-py2.6.egg/zope/component/registry.py", line 321, in subscribers
    return self.adapters.subscribers(objects, provided)
  File "/opt/plone41/buildout-cache/eggs/zope.interface-3.6.7-py2.6-linux-x86_64.egg/zope/interface/adapter.py", line 585, in subscribers
    subscription(*objects)
  File "/opt/plone41/zeocluster/src/sauna.reload/sauna/reload/eventhandlers.py", line 69, in startForkLoop
    forkloop.start()
  File "/opt/plone41/zeocluster/src/sauna.reload/sauna/reload/forkloop.py", line 103, in start
    self.loop()
  File "/opt/plone41/zeocluster/src/sauna.reload/sauna/reload/forkloop.py", line 160, in loop
    self._prepareNewChild()
  File "/opt/plone41/zeocluster/src/sauna.reload/sauna/reload/forkloop.py", line 186, in _prepareNewChild
    self.storage_index.restore()
  File "/opt/plone41/zeocluster/src/sauna.reload/sauna/reload/db.py", line 41, in restore
    self.storage._lock_acquire()
AttributeError: 'ClientStorage' object has no attribute '_lock_acquire'
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/opt/plone41/Python-2.6/lib/python2.6/atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "/opt/plone41/zeocluster/src/sauna.reload/sauna/reload/forkloop.py", line 246, in _childExitHandler
    self.storage_index.save()
  File "/opt/plone41/zeocluster/src/sauna.reload/sauna/reload/db.py", line 34, in save
    self.storage._lock_acquire()
AttributeError: 'ClientStorage' object has no attribute '_lock_acquire'
Error in sys.exitfunc:
Traceback (most recent call last):
  File "/opt/plone41/Python-2.6/lib/python2.6/atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "/opt/plone41/zeocluster/src/sauna.reload/sauna/reload/forkloop.py", line 246, in _childExitHandler
    self.storage_index.save()
  File "/opt/plone41/zeocluster/src/sauna.reload/sauna/reload/db.py", line 34, in save
    self.storage._lock_acquire()
AttributeError: 'ClientStorage' object has no attribute '_lock_acquire'
2011-11-09 18:53:16 INFO SignalHandler Caught signal SIGCLD

Child died on bootup. Pausing fork loop for now.
Fix possible errors and save edits and we'll try booting again.
Waiting...

At this point it hangs until killed.

Mikko Ohtamaa
Owner

Are you using ZEO? sauna.reload supports only development mode in non-ZEO clustered mode. We should add a warning of unsupported configuration.

alexdante
Asko Soukka
Collaborator

Thanks for reporting that. I think, we should keep this issue open, until we have a warning about trying to use sauna.reload with ZEO.

(Even better would be to make it work with ZEO. Actually, it should be even easier than making it work with ZODB, but the current codebase would need some refactoring before we can try it.)

Asko Soukka datakurre closed this in 863ddcb April 21, 2012
Asko Soukka
Collaborator

I'm afraid that we can support ZEO-client only on Plone 4.1 and later, because only ZODB 3.10. supports forked processes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.