API hangs when queue is full
Bug #1422419 reported by
Douglas Mendizábal
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Barbican |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
When using Rabbit MQ for queueing orders there is the possibility that Rabbit MQ may be full (out of disk space for example). When this happens, the API will hang waiting to send the message.
There are a few problems with this. First, if the API node is killed, the DB transaction is lost, since the transaction is not committed until the queue accepts the message.
Rabbit MQ does warn Barbican about the low disk space, however Barbican (or possibly oslo.messaging) did not log any of the low space warnings.
Changed in barbican: | |
assignee: | nobody → Sungjin Yook (sungyook) |
Changed in barbican: | |
assignee: | Sungjin Yook (sungyook) → nobody |
status: | Confirmed → New |
To post a comment you must log in.
Based on discussions at the mid-cycle, this situation should return a 503 status code to the client rather than trying to save the transaction. This would give clients an immediate feedback that something was wrong, with no expectation that Barbican will fulfill their request at that time. So I think the true bug is to figure out why the request is hanging, and instead return the 503.
The warning of low disk space would be good to get surfaced in Barbican logs, or else issue a bug against olso.messaging to add this to their logs.