There are 2 possible scenarios which are very unlikely to appear but we still want to share here so that we know the areas which might cause the conversation to get stuck sometime. But again, it will not cause Queue to Block nor the Advisor to be stuck.
#1: When a INVALID task request comes into the Queue and an Advisor gets available and CX tries to assign an Advisor to that Queue, while assigning the Advisor, CX came to know that the same Task which was available in Queue, is not available in Redis nor in In-Memory, causing the exception. We clear the Task from Queue as well and update the state of Advisor to Not Reserved for that Task and also update the In-Memory and Redis as well. This way that INVALID task gets cleared out.
BUT Till the time we do not have any Advisor available for that Queue that INVALID Task remains in Queue and will not removed from Queue even after TTL of Queue expires because in real that Task doesn't exists in Redis and In-Memory, hence if we try to remove it we will face exception. But this will most probably never occur with a reason that there are many Advisor's keep on coming in Ready State during all the times.
#2: When a request is assigned successfully to some Advisor A1 and then it QUEUE TRANSFER the request to another Advisor and somehow none of the Advisor's are available on that QUEUE then after a specific timeout the Task went back to the QUEUE and re-route. At this time, if somehow the same issue appears that the new TRANSFERRED Task is available in Queue and not available in In-Memory and Redis then in this case whenever a new Advisor gets available on that QUEUE then this Task will clear out along with that Advisor will get free but the Conversation remains Open in INACTIVE state.
However, this will never happen most probably because this issue appears when there is some INVALID customer information coming into the system (so far we have analyzed), and if a Customer's request is able to be handled by Advisor A1 then it will always be able to be handled by any other Advisor as well after Transfer.
These scenarios, while theoretically possible will not block the entire queue nor the Agent will get stuck.