Failed to acquire lock for conversation ID <conversation_id>. Retrying

Hi, when running Rasa(1.4.3), I generally see a debug information stating: Failed to acquire lock for conversation ID <conversation_id>. Retrying... What I notice is that when this happened the conversation is blocked and after a couple of seconds ago, the bot send lot of replies to the user. I’m using Messenger channel.

Can someone explain me this error ? So that I know how to handle it.

Thanks in advance.

Hi @Rogers_ntr, this behaviour has been fixed in Rasa 1.5.3. Would you mind upgrading to that version?

@ricwo Thanks for your reply. I just upgrade rasa to 1.5.3. It seems to work for now.

Your sincerely.

@Rogers_ntr i am using rasa/rasa:1.10.10-full with docker. i am still facing this issue. Due to this, i am getting same message many times. it keep on sending me continously.

rasa_server | 2020-08-23 10:59:00 DEBUG rasa.core.lock_store - Failed to acquire lock for conversation ID ‘1’. Retrying… rasa_server | 2020-08-23 10:59:00 DEBUG rasa.core.tracker_store - Recreating tracker from sender id ‘1’ rasa_server | 2020-08-23 10:59:01 DEBUG rasa.nlu.selectors.response_selector - Adding following selector key to message property: faq rasa_server

1 Like

@shivamSharmaMWP, welcome to the forum! Does this keep happening after you restart your deployment?

I am facing the same issue using messenger. Are there any updates?

@robynbitner would you mind providing some more information on what version you’re running and how you deployed Rasa (X)?

I am using the Open Source version of Rasa.

Rasa 1.10.12 Python 3.6.12

This error appears only sometimes and it is difficult to reproduce but comes up unexpectedly. I am currently using Facebook Workplace (which works using Facebook Messenger credentials). I receive this error message and it continues in a loop trying to aquire the lock.

Failed to acquire lock for conversation ID <conversation_id>. Retrying…

Even after restarting my chatbot, I will not receive a message from Facebook Workplace for a few minutes.

Is this happening because of a timeout? Or do we know the cause? And is there any way to prevent this problem from happening?

Best regards, Robyn

Thanks! Did you deploy Rasa as a Docker container or just as a Shell process? Did you configure a specific lock store in your credentials.yml?

I deployed Rasa as a shell process. No, I did not configure a specific lock store. I am also experiencing this same problem when stress testing with locust.

How can I solve this problem? Does it have to do with a timeout?

The lock store locks the conversation while it’s being served. Can you describe when exactly the failed to acquire lock message stops showing up? Does it happen once Facebook Workplace handles your user message?

The ‘failed to acquire lock’ message only stopped being sent after the action was completed and sent through Facebook Workplace to the user.

Since then, I have been testing my bot more and have received this message when I conducted a stress test using locust. This is independent of Facebook Workplace (I tested with rasa shell using socketio). The actions repeat themselved and this behaviour only stops after all the actions in the queue have been completed within a timeframe that Rasa accepts.

I have been testing some more and think that ngrok also had to do with the problems I was having. By signing in with my account, it also helped (having 40 calls per minute instead of 20) and allowed for more throughput. This behaviour was reduced but when I was testing with locust, I could not accomodate for more than 5 users using the bot concurrently.