Skip to content

Backlog cleanup#24

Merged
lesnik512 merged 3 commits intomainfrom
backlog-cleanup
May 4, 2026
Merged

Backlog cleanup#24
lesnik512 merged 3 commits intomainfrom
backlog-cleanup

Conversation

@lesnik512
Copy link
Copy Markdown
Member

No description provided.

lesnik512 and others added 3 commits May 4, 2026 16:56
Item 2: a corrupted or externally-produced timer id with non-UTF-8 bytes
used to raise UnicodeDecodeError on every poll, leaving the offending
ZSET entry in place — unbounded log noise and wasted polls. Catch the
decode failure separately, log a WARNING with the raw bytes, and remove
the entry from both the timeline and payload keys so polls recover.

Item 6: drop `# pragma: no cover` from the two top-level error branches
in the consume loop and add unit tests asserting the log message format
(including `{e!r}` repr of the exception). The recent
`Inline exception repr in subscriber error logs` change is exactly the
class of regression these tests are intended to catch.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
publish, cancel_timer, has_pending, get_pending_timers and cancel_all
now raise ValueError when handed an empty topic. cancel_all("") was the
worst foot-gun: it silently nuked whatever orphaned keys happened to
match the empty-topic key prefix.

Drop the topic="" default from publish; topic is now a required
positional argument. This is source-incompatible for callers that
relied on the default, which is acceptable while pyproject version is
still 0.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- how-it-works.md: add an "Operational requirements" section calling
  out single-primary Redis, Sentinel support, and that brokers'
  wall-clock skew must stay well below lease_ttl to avoid duplicate
  delivery (item 3); add tuning guidance to the lease_ttl row
  ("3-5x P99 handler runtime", item 11).
- testing.md: note that the fake broker does not simulate lease_ttl
  or re-delivery, so handlers must verify idempotency separately
  (item 7).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@lesnik512 lesnik512 self-assigned this May 4, 2026
@lesnik512 lesnik512 merged commit a1d2973 into main May 4, 2026
3 checks passed
@lesnik512 lesnik512 deleted the backlog-cleanup branch May 4, 2026 14:03
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