kazoo icon indicating copy to clipboard operation
kazoo copied to clipboard

kazoo hangs in uwsgi

Open rhyspang opened this issue 6 years ago • 3 comments

I use uwsgi to start django application, which call start method in kazoo client instance to connect zookeeper server, it hangs. even if I use --enable-threads . Exception traceback as follow, could you give me some advise, thanks a lot!

self._zk.start(timeout=timeout)
  File "/Users/rhys/.local/share/virtualenvs/dialog-Pn4M1tPm/lib/python2.7/site-packages/kazoo/client.py", line 559, in start
    self.stop()
  File "/Users/rhys/.local/share/virtualenvs/dialog-Pn4M1tPm/lib/python2.7/site-packages/kazoo/client.py", line 613, in stop
    self._safe_close()
  File "/Users/rhys/.local/share/virtualenvs/dialog-Pn4M1tPm/lib/python2.7/site-packages/kazoo/client.py", line 506, in _safe_close
    if not self._connection.stop(timeout):
  File "/Users/rhys/.local/share/virtualenvs/dialog-Pn4M1tPm/lib/python2.7/site-packages/kazoo/protocol/connection.py", line 180, in stop
    self.connection_stopped.wait(timeout)
  File "/Users/rhys/.pyenv/versions/2.7.15/lib/python2.7/threading.py", line 614, in wait
    self.__cond.wait(timeout)
  File "/Users/rhys/.pyenv/versions/2.7.15/lib/python2.7/threading.py", line 359, in wait
    _sleep(delay)

rhyspang avatar Nov 20 '18 06:11 rhyspang

Hi,

Sounds similar to https://github.com/python-zk/kazoo/issues/536

What version of Kazoo are you using? Zookeeper? What value of timeout are you passing? Have you got any logs on Zookeeper's side that can explain the timeout?

StephenSorriaux avatar Nov 20 '18 08:11 StephenSorriaux

Hi,

Sounds similar to #536

What version of Kazoo are you using? Zookeeper? What value of timeout are you passing? Have you got any logs on Zookeeper's side that can explain the timeout?

kazoo==2.5.0 timeout = 3.0

There is no log in Zookepper's side. Everything is ok when I start my django application using python manage.py runserver, but with uwsgi run, it hangs in start() method of kazoo client instance,

rhyspang avatar Nov 21 '18 04:11 rhyspang

Can you give us more details about your app? How did you create your thread? How are you launching your uswgi?

I tried using python 2.7.15, and:

(venv) stephen@somewhere:~/dev/temp/mysite$ pip list
Package    Version 
---------- --------
Django     1.11.16 
kazoo      2.6.0   
pip        18.1    
pytz       2018.7  
setuptools 40.6.2  
six        1.11.0  
uWSGI      2.0.17.1
wheel      0.32.3  

I launch uwsgi using uwsgi --http :8000 --module mysite.wsgi --enable-threads and the thread is correctly running.

StephenSorriaux avatar Nov 27 '18 16:11 StephenSorriaux