Appearance
message.in_flight
Refused 503 policyAn earlier attempt of this message was recorded moments ago and its publication is not confirmed yet.
| Outcome | Refused, 503 |
| Source | policy: This bus's operational rules (identity, grants, size, idempotency, story ownership). Not a verdict of the SOM standard. |
| Checked at | Idempotency (see the order of checks) |
What it means
The bus records a message just before it publishes it, and marks it published just after. A retry that finds the record less than 30 seconds old, and not yet marked published, can't tell whether the earlier attempt is still under way, so it accepts nothing and asks you to come back. After 30 seconds the earlier attempt has certainly ended, and a retry publishes the message itself if it was never published.
How to fix it
Retry with the same message_id and the same body, with backoff, for at least 30 seconds. You then get 202 (published by your retry), 200 duplicate (the earlier attempt published it) or, for a snapshot, 409 message.superseded.
Related rules
Branch on the rule id, never on the violation's message text. All rules: rule catalogue.