Operation not supported.

Issue #317 closed
Wise Kaa created an issue

FreeBSD 10.4-STABLE Kallithea 0.3.4

Error - <type 'exceptions.IOError'>: [Errno 45] Operation not supported
URL: http://git.kngk.org/
File '/usr/local/lib/python2.7/site-packages/weberror/errormiddleware.py', line 171 in __call__
  app_iter = self.application(environ, sr_checker)
File '/usr/local/lib/python2.7/site-packages/kallithea/lib/middleware/sessionmiddleware.py', line 62 in __call__
  return self.wrap_app(environ, session_start_response)
File '/usr/local/lib/python2.7/site-packages/routes/middleware.py', line 131 in __call__
  response = self.app(environ, start_response)
File '/usr/local/lib/python2.7/site-packages/pylons/wsgiapp.py', line 103 in __call__
  response = self.dispatch(controller, environ, start_response)
File '/usr/local/lib/python2.7/site-packages/pylons/wsgiapp.py', line 313 in dispatch
  return controller(environ, start_response)
File '/usr/local/lib/python2.7/site-packages/kallithea/lib/base.py', line 439 in __call__
  session.get('authuser'),
File '/usr/local/lib/python2.7/site-packages/paste/registry.py', line 137 in __getattr__
  return getattr(self._current_obj(), attr)
File '/usr/local/lib/python2.7/site-packages/beaker/session.py', line 659 in __getattr__
  return getattr(self._session(), attr)
File '/usr/local/lib/python2.7/site-packages/beaker/session.py', line 655 in _session
  **params)
File '/usr/local/lib/python2.7/site-packages/beaker/session.py', line 169 in __init__
  self.invalidate()
File '/usr/local/lib/python2.7/site-packages/beaker/session.py', line 317 in invalidate
  self.load()
File '/usr/local/lib/python2.7/site-packages/beaker/session.py', line 329 in load
  self.namespace.acquire_read_lock()
File '/usr/local/lib/python2.7/site-packages/beaker/container.py', line 211 in acquire_read_lock
  self.access_lock.acquire_read_lock()
File '/usr/local/lib/python2.7/site-packages/beaker/synchronization.py', line 154 in acquire_read_lock
  x = self.do_acquire_read_lock(wait)
File '/usr/local/lib/python2.7/site-packages/beaker/synchronization.py', line 251 in do_acquire_read_lock
  fcntl.flock(filedescriptor, fcntl.LOCK_SH)
IOError: [Errno 45] Operation not supported

Comments (7)

  1. Thomas De Schampheleire

    I think you could have stayed at 'file' for beaker session type, but changing the beaker.cache.data_dir and/or beaker.cache.lock_dir to a local filessytem path. I actually think it would be a good idea to do that anyway, because NFS is generally much slower than local files, and these files would normally not need to be available remotely.

    data_dir (optional, string)
        Used with any back-end that stores its data in physical files, such as the dbm or file-based back-ends.
        This path should be an absolute path to the directory that stores the files.
    lock_dir (required, string)
        Used with every back-end, to coordinate locking. With caching, this lock file is used to ensure that
        multiple processes/threads aren’t attempting to re-create the same value at the same time (The Dog-Pile Effect)
    

    http://beaker.readthedocs.io/en/latest/configuration.html

  2. Mads Kiilerich

    I guess the idea with using NFS would be to run server instances on different machines. In that case, I think it would need data and lock dir on shared storage too.

  3. Log in to comment