RPC client doesn't retry if the server fails to deliver the reply
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
oslo.messaging |
In Progress
|
Undecided
|
Viktor Serhieiev |
Bug Description
related issue https:/
Glossary:
client - RPCClient object sends RPC call server
server - MessageHandling
Normal flow:
client sends call message
server receives and dispatches call
server sends reply message
client receives reply
Failover (the case should be fixed):
client sends call message
server receives and dispatches call
FAILOVER happens here
server reconnects
server sends reply message (considering all is just fine, but in fact fails to deliver it)
client reconnects and redeclares exchange and queue (Note: 1)message coulbe be already lost since published to empty exchange, 2)the reply_* queue might contain wrong i.e. unexpected for server id (why?..))
Timeout exception - but should be a retries perhaps.
Of cause retrying could be a bad idea overall... Ideas are wellcome.