feat: crash recovery and graceful shutdown (story 1.9)#9
Closed
vieiralucas wants to merge 0 commit intofeat/1-8-message-acknowledgmentfrom
Closed
feat: crash recovery and graceful shutdown (story 1.9)#9vieiralucas wants to merge 0 commit intofeat/1-8-message-acknowledgmentfrom
vieiralucas wants to merge 0 commit intofeat/1-8-message-acknowledgmentfrom
Conversation
f13c613 to
1e1eb19
Compare
dd6a7e4 to
26ab66e
Compare
1e1eb19 to
73640dd
Compare
26ab66e to
955b3f4
Compare
73640dd to
1b962e3
Compare
e4093e0 to
f50183e
Compare
9dd102a to
e695dd0
Compare
f50183e to
23296cd
Compare
e695dd0 to
7ccb2f4
Compare
2155453 to
c26f8c2
Compare
7537a50 to
d794ecd
Compare
c26f8c2 to
0127a98
Compare
d794ecd to
6918a46
Compare
0127a98 to
5096d21
Compare
6918a46 to
ac33d31
Compare
5096d21 to
ac33d31
Compare
This was referenced Feb 12, 2026
5 tasks
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
parse_lease_expiry_key()for extracting queue_id and msg_id from expiry keysflush()method to Storage trait, implemented viaflush_wal(true)in RocksDBTest plan
recovery_preserves_messages_after_restart— enqueue 5 messages, restart scheduler, verify all deliveredrecovery_reclaims_expired_leases— create expired lease, restart, verify reclaimed and message delivered to consumerrecovery_preserves_queue_definitions— create 3 queues, restart, verify all presentshutdown_flushes_wal— enqueue, shutdown, reopen storage from disk, verify data survivedSummary by cubic
Adds crash recovery and graceful shutdown: on startup we reclaim expired leases so messages re-enter the ready pool; on shutdown we flush the RocksDB WAL for durability. Completes Story 1.9 and closes Epic 1.
Written for commit ac33d31. Summary will update on new commits.