Skip to content

Assume decode_responses=False and fail loudly - #85

Merged
codingjoe merged 1 commit into
mainfrom
codingjoe-default-connection-options
Oct 5, 2026
Merged

codingjoe merged 1 commit into
mainfrom
codingjoe-default-connection-options

Conversation

@codingjoe

Copy link
Copy Markdown
Owner

Redis connections use the redis-py default decode_responses=False, yet the backend guarded against decoded responses with isinstance(..., bytes) fallbacks, and the reaper swallowed unreadable payloads. Those guards hid misconfiguration and altered data instead of surfacing them.

  • Assume decode_responses=False for all Redis connections and drop the bytes/str fallbacks in the reaper, peeker, and telemetry loop.
  • Let the reaper fail loudly on payloads altered mid-flight. Retry callbacks gone from the code base are still logged and skipped.
  • Document both design decisions in CONTRIBUTING.md, including the requirement for a persistent Redis without eviction, and add the > [!IMPORTANT] one-liner to the README.

Redis connections always use the redis-py default decode_responses=False, so drop the isinstance bytes/str fallbacks. The reaper no longer swallows unreadable payloads: misconfiguration and Redis data altered mid-flight fail loudly instead of being handled defensively.

Document both design decisions in CONTRIBUTING.md and require a persistent Redis without eviction in the README.
@codingjoe
codingjoe merged commit 7c086f4 into main Oct 5, 2026
3 checks passed
@codingjoe
codingjoe deleted the codingjoe-default-connection-options branch October 5, 2026 22:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant