Issue #317: Operation not supported.
Reported by: | Wise Kaa |
State: | closed |
Created on: | 2018-05-08 08:37 |
Updated on: | 2018-05-13 20:43 |
Description
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
Attachments
Comments
Comment by Wise Kaa, on 2018-05-08 08:38
Comment by Eivind Tagseth, on 2018-05-08 11:29
You have kallithea/your repositories on a filesystem not supporting flock?
Comment by Wise Kaa, on 2018-05-08 11:48
Yes, it is on NFS volume.
Comment by Wise Kaa, on 2018-05-08 11:50
I have bypassed this with beaker.session.type = ext:database
Comment by Wise Kaa, on 2018-05-08 11:50
I have bypassed this with beaker.session.type = ext:database
Comment by Thomas De Schampheleire, on 2018-05-13 19:29
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)
Comment by Mads Kiilerich, on 2018-05-13 20:43
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.