Skip to content

gevent raising errors when using the pyrakoonclient in threads #222

@JeffreyDevloo

Description

@JeffreyDevloo
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]: 2019-04-04 04:27:05 55200 -0400 - NY1SRV0001 - 40290/140282423146240 - update/alba-plugin - 38 - ERROR - Could not load update information
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]: Traceback (most recent call last):
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:   File "/opt/OpenvStorage/ovs/lib/helpers/..//albaupdate.py", line 131, in _get_package_information_alba_plugin_storage_routers
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:     for service in storagerouter.services:
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:   File "/opt/OpenvStorage/ovs/dal/dataobject.py", line 337, in <lambda>
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:     fget = lambda s: s._get_list_property(attribute)
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:   File "/opt/OpenvStorage/ovs/dal/dataobject.py", line 387, in _get_list_property
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:     datalist = DataList.get_relation_set(remote_class, remote_key, self.__class__, attribute, self.guid)
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:   File "/opt/OpenvStorage/ovs/dal/datalist.py", line 551, in get_relation_set
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:     datalist._guids = [guid.replace(reverse_key, '') for guid in persistent.prefix(reverse_key)]
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:   File "/usr/lib/python2.7/dist-packages/ovs_extensions/storage/persistent/pyrakoonstore.py", line 44, in new_function
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:     return f(self, *args, **kw)
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:   File "/usr/lib/python2.7/dist-packages/ovs_extensions/storage/persistent/pyrakoonstore.py", line 104, in prefix
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:     return self._client.prefix(prefix)
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:   File "/usr/lib/python2.7/dist-packages/ovs_extensions/db/arakoon/pyrakoon/client/client_pooled.py", line 110, in prefix
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:     with self._pool.get_client() as client:
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:   File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:     return self.gen.next()
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:   File "/usr/lib/python2.7/dist-packages/ovs_extensions/db/arakoon/pyrakoon/client/client_pool.py", line 98, in get_client
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:     self._lock.acquire()
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:   File "gevent/_semaphore.py", line 198, in gevent._semaphore.Semaphore.acquire (gevent/gevent._semaphore.c:4038)
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:     def acquire(self, blocking=True, timeout=None):
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:   File "gevent/_semaphore.py", line 226, in gevent._semaphore.Semaphore.acquire (gevent/gevent._semaphore.c:3859)
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:     timeout = self._do_wait(timeout)
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:   File "gevent/_semaphore.py", line 166, in gevent._semaphore.Semaphore._do_wait (gevent/gevent._semaphore.c:3092)
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:     result = get_hub().switch()
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:   File "/usr/lib/python2.7/dist-packages/gevent/hub.py", line 606, in switch
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]:     return greenlet.switch(self)
Apr  4 04:27:05 NY1SRV0001 ovs-workers[40280]: LoopExit: ('This operation would block forever', <Hub at 0x7f96cc0efaf0 epoll pending=0 ref=0 fileno=89>)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions