-
-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The purpose of this record is to log additional context about why a message might end up in the scheduled queue when it hasn't logged a TransientFailure. There are a few situations around handling throttles and limits where we might put a message back into the scheduled queue, without also logging a TransientFailure record. It's possible that we should reconsider some of those, but for the moment, there is an observability hole that needs to be filled. What this commit does is introduce an `InsertContext` which can hold one or more `InsertReason`s about why a message is being inserted into the scheduled queue. There are 3 primary reasons for insertion: * Received - the message was just received/injected * Enumerated - the message was discovered in spool enumeration * DueTimeWasReached - the message is now due for delivery and is being popped off the scheduled queue The additional reasons can be added to the context to provide more color about what happened. When a message is added to the scheduled queue, the accumulation in the InsertContext is examined, and if the context doesn't indicate that the message was Enumerated and it wasn't also already logged as a TransientFailure, a `Delay` record is logged. The `Delay` record includes in its `response.content` the ordered set of InsertReasons as well as the delay duration and due time. Logging Delay records might place undesirable pressure on the logging storage, so you may wish to disable it via: ```lua kumo.configure_local_logs { per_record = { Delay = { -- Suppress Delay records enable = false } } } ``` or similar.
- Loading branch information
Showing
14 changed files
with
367 additions
and
112 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.