Repository navigation
Operational Resilience: Error Codes, Retention, Concurrency, and Dead-Letter Recovery - #325
Merged
BigDella merged 1 commit intoOct 21, 2026
Conversation
…oncurrency tests, and dead-letter recovery Implement comprehensive improvements for operational reliability and error handling: 1. Add stable API error codes and remediation guidance (Closes Parcel-Protocol#318) - New error codes for concurrency scenarios: DUPLICATE_SUBMISSION, STALE_VERSION - New error codes for operational scenarios: DEAD_LETTER_QUEUE_FULL, JOB_SCHEDULING_ERROR, METADATA_RETENTION_EXPIRED, OPERATION_RECOVERY_FAILED - Update rejection reasons with appropriate categories and recovery guidance - Map all error codes to user-facing rejection explanations 2. Add retention and deletion tests for operational metadata (Closes Parcel-Protocol#319) - Tests for metadata retention policies and TTL enforcement - Deletion edge cases: non-existent operations, in-flight operations, terminal states - Authorization paths for deletion with correlation ID preservation - Recovery and rollback behavior with operation state preservation - Normal deletion flow and failure mode handling 3. Implement concurrency tests for duplicate submissions and stale versions (Closes Parcel-Protocol#320) - Duplicate submission detection with idempotency key tracking - Payload conflict detection for conflicting duplicate submissions - Stale version handling and optimistic concurrency control - Race condition tests for near-simultaneous and high-contention scenarios - Deduplication and replay semantics across retries - Authorization paths for deduplication with cross-user prevention 4. Implement resumable background jobs with dead-letter recovery (Closes Parcel-Protocol#317) - Job resumption with incremented attempt counters and state persistence - Idempotency key replay semantics through resumption - Correlation ID maintenance across job lifecycle - Dead-letter queue handling with failure context preservation - Dead-letter job inspection and recovery procedures - Exponential backoff and transient failure retry handling - Cancellation and concurrent recovery safety All implementations follow existing code patterns and include comprehensive test coverage.
|
@girly-coder01 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
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.
Summary
Implement comprehensive operational resilience improvements across four critical areas:
Issue #318: Stable API Error Codes
Issue #319: Retention and Deletion Tests
Issue #320: Concurrency Tests
Issue #317: Dead-Letter Recovery
Test Plan
Breaking Changes
None. All changes are additive and maintain backward compatibility.
Closes #317
Closes #318
Closes #319
Closes #320