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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions