Repository navigation
Conversation
|
|
||
| ## Retry Timing | ||
|
|
||
| Retry delays are approximate. Outpost stores delivery attempts in batches, and a retry reads the attempt that triggered it, so a retry does not run before that attempt is stored. A delay shorter than `LOG_BATCH_THRESHOLD_SECONDS` (default `10`) is raised to it. Outpost logs a warning at startup listing the configured delays that are raised. |
Contributor
There was a problem hiding this comment.
Too specific for the generic doc, needs to be in self-hosted section if needs to be more specific
Comment on lines
+53
to
+63
| The effective delay of a retry is about: | ||
|
|
||
| - the larger of the configured delay and `LOG_BATCH_THRESHOLD_SECONDS` | ||
| - plus up to `RETRY_POLL_BACKOFF_MS` when you set it explicitly (the default, `0`, wakes the retry monitor when the next retry is due) | ||
| - plus up to `RETRY_LOOKUP_BATCH_WAIT_MS` when `RETRY_LOOKUP_BATCH_SIZE` is above `1` | ||
|
|
||
| If the attempt is still not stored when the retry runs, the retry waits about `LOG_BATCH_THRESHOLD_SECONDS` again (varied by up to 25%) and looks again. | ||
|
|
||
| For example, with `RETRY_SCHEDULE=1,5,10`, the defaults and `RETRY_LOOKUP_BATCH_SIZE=50`, each of the three retries runs about 10 seconds after its failed attempt, plus up to 50 ms for batching. With `RETRY_SCHEDULE=1,5,30` the third retry keeps its 30 seconds. | ||
|
|
||
| For tighter timing, set `RETRY_LOOKUP_BATCH_SIZE=0` and lower `LOG_BATCH_THRESHOLD_SECONDS`. A lower threshold flushes logs more often, which means more log store writes. Batching lookups helps high-volume deployments; at low volume, or on PostgreSQL, leave it disabled. |
Contributor
There was a problem hiding this comment.
Same, way to specific
| RETRY_SCHEDULE=30,60,300,900,3600 | ||
| ``` | ||
|
|
||
| Retry delays shorter than `LOG_BATCH_THRESHOLD_SECONDS` are raised to it, and Outpost logs a warning at startup listing them. See [Log Storage](/docs/outpost/self-hosting/configuration#log-storage) to shorten or remove this minimum. |
Contributor
There was a problem hiding this comment.
These configs aren't explictly shows for managed so we can't refer to it here
Collaborator
Author
There was a problem hiding this comment.
That's in the self-hosted tab
alexbouchardd
approved these changes
Oct 20, 2026
alexluong
marked this pull request as ready for review
October 20, 2026 21:35
This branch has not been deployed
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal
Retry delays below
LOG_BATCH_THRESHOLD_SECONDSare raised to it, so a schedule like1,5,10runs at 10, 10, 10 seconds. This makes that visible at startup and in the docs, so it doesn't read as a bug.Changes
retry delays below LOG_BATCH_THRESHOLD_SECONDS (10s) are raised to it: 1s, 5s. A warning, not an error, so existing configs keep working.LOG_BATCH_SIZEandLOG_BATCH_THRESHOLD_SECONDSrows (previously undocumented), including the retry minimum and0to remove it.Notes
🤖 Generated with Claude Code