Crypto pump drops one-shot messages on transient send failure (prod verification wedge) #60
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Root cause of the persistent prod verification stall (#58 follow-through, user-reported 'Element does not get the info that katrix accepted'): SessionCrypto.pump marked a request FAILED (= pending.remove) on the first KatrixException and rethrew. Account-derived requests (keys upload/query) regenerate next round, but one-shot sends — verification ready/start/key/mac, signature uploads — have no regeneration path: a single 429/5xx on a real rate-limited server silently discarded them and wedged the flow, while the local phase already showed Ready. Containerized e2e Synapse has rate limits off, so every e2e stayed green. Fix: failed requests stay pending and retry on the next pump (the drain leg runs one per committed sync batch); a poison request drops after 8 attempts. PumpRetryTest covers it.