pachterlab/sircel

redis ConnectionRefusedError

Closed this issue · 3 comments

dawe commented

I'm trying sircel to process dropseq data. Everything seems to work except that I get a connection error to redis server, immediately after initialisation is executed. I can reproduce the error within python

>>> import sircel
>>> import redis
>>> sircel.IO_utils.initialize_redis_pipeline(db=0)
Traceback (most recent call last):
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 439, in connect
    sock = self._connect()
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 494, in _connect
    raise err
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 482, in _connect
    sock.connect(socket_address)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/client.py", line 572, in execute_command
    connection.send_command(*args)
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 563, in send_command
    self.send_packed_command(self.pack_command(*args))
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 538, in send_packed_command
    self.connect()
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 442, in connect
    raise ConnectionError(self._error_message(e))
redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 439, in connect
    sock = self._connect()
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 494, in _connect
    raise err
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 482, in _connect
    sock.connect(socket_address)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/sircel-0.1.1-py3.6.egg/sircel/IO_utils.py", line 233, in initialize_redis_pipeline
    redis_db.flushall()
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/client.py", line 648, in flushall
    return self.execute_command('FLUSHALL')
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/client.py", line 578, in execute_command
    connection.send_command(*args)
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 563, in send_command
    self.send_packed_command(self.pack_command(*args))
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 538, in send_packed_command
    self.connect()
  File "/home/dcittaro/miniconda3/lib/python3.6/site-packages/redis/connection.py", line 442, in connect
    raise ConnectionError(self._error_message(e))
redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.

The exception is not raised if I start redis server before sircel execution

$ redis-server &

I'm now trying a full sircel run with redis in background.

I've circumvented the requirement for redis. Hopefully this will make running the software easier in the future

Hi, I downloaded sircel on Jan 5th 2018 and am having a similar issue. I do not get a connection error, but the program hangs on "assigning reads" unless I proceed by initializing the redis server similar to dawe's (redis-server &). Is it possible that the issue has to do with the redis configuration file? I am using the default settings currently.

Hi we had a user on our HPC cluster deal with the same exact issue as @saralinker .
Any thoughts on how we can run without redis-server?