fix(idempotency): stop keeping upstream responses after they stop being usable - #30
Merged
Conversation
…ng usable An idempotency row holds the upstream response body so a retry can replay it. For a mail or a file provider that body is the customer's content. Reads already stop at 24 hours, so a row past that is unreachable by design. Nothing deleted it, so it stayed forever: content held with no purpose and no way to reach it, which is the worst of both. Expiry now happens on the next write for that workspace. No cron, one extra round trip, and the workspace that writes is the one that gets cleaned. Found while writing a privacy policy, where the honest sentence would have had to be that tool responses are kept indefinitely.
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.
fix(idempotency): stop keeping upstream responses after they stop being usable
An idempotency row holds the upstream response body so a retry can replay it.
For a mail or a file provider that body is the customer's content.
Reads already stop at 24 hours, so a row past that is unreachable by design.
Nothing deleted it, so it stayed forever: content held with no purpose and no
way to reach it, which is the worst of both.
Expiry now happens on the next write for that workspace. No cron, one extra
round trip, and the workspace that writes is the one that gets cleaned.
Found while writing a privacy policy, where the honest sentence would have had
to be that tool responses are kept indefinitely.