You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have been using nodejs faye server (redis engine) with a decent amount of load in production environment. I have a couple of clients, one ruby and one nodejs. The client just subscribes to messages on a particular channel on which data is coming on a huge scale. The issue I encountered was that the ruby client just got stuck, stopped receiving any messages on the channel while the server was still getting those messages. This used to happen once or twice a day. The nodejs client didn't show any such symptoms.
A couple of days back I checked redis logs, I found this log printing a lot of times:
Client id= addr=<IP_where_faye_is_running>: fd=348 name= age=1974 idle=414 flags=N db= sub=2 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=16372 oll=358 omem=9709552 events=rw cmd=subscribe scheduled to be closed ASAP for overcoming of output buffer limits.
The time of ruby client outage matched with this. Whenever ruby client got stuck, this log was present in redis logs, but ruby client didn't get stuck every time this log was present. 2 out of 100 maybe.
I increased the output buffer limit for pubsub clients in redis config, and now ruby client doesn't get stuck, and this log is not printed in redis logs.
Could it be something related to error handling with redis connection being closed midway? Ruby eventmachine not returning control back?
The text was updated successfully, but these errors were encountered:
Sorry I didn't reply to this sooner. I'm not really knowledgeable enough about Redis to know what's going on here, especially without any repro code. If you find out, could you submit a PR to faye-redis-ruby?
I'm going to close this issue since I've not heard any response to my question, but if you have more information please re-open and leave another comment :)
I have been using nodejs faye server (redis engine) with a decent amount of load in production environment. I have a couple of clients, one ruby and one nodejs. The client just subscribes to messages on a particular channel on which data is coming on a huge scale. The issue I encountered was that the ruby client just got stuck, stopped receiving any messages on the channel while the server was still getting those messages. This used to happen once or twice a day. The nodejs client didn't show any such symptoms.
A couple of days back I checked redis logs, I found this log printing a lot of times:
Client id= addr=<IP_where_faye_is_running>: fd=348 name= age=1974 idle=414 flags=N db= sub=2 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=16372 oll=358 omem=9709552 events=rw cmd=subscribe scheduled to be closed ASAP for overcoming of output buffer limits.
The time of ruby client outage matched with this. Whenever ruby client got stuck, this log was present in redis logs, but ruby client didn't get stuck every time this log was present. 2 out of 100 maybe.
I increased the output buffer limit for pubsub clients in redis config, and now ruby client doesn't get stuck, and this log is not printed in redis logs.
Could it be something related to error handling with redis connection being closed midway? Ruby eventmachine not returning control back?
The text was updated successfully, but these errors were encountered: