feat: message enqueue rpc (story 1.6)#6
Merged
vieiralucas merged 2 commits intomainfrom Feb 11, 2026
Merged
Conversation
ae14022 to
91da999
Compare
767fc0f to
bb6dc55
Compare
91da999 to
96eea1e
Compare
bb6dc55 to
4970e1d
Compare
96eea1e to
a20e922
Compare
8ad8619 to
71e67d3
Compare
a8aefe0 to
957bfed
Compare
71e67d3 to
460bef4
Compare
957bfed to
d5a678a
Compare
460bef4 to
ab6e29a
Compare
d5a678a to
b40c6e8
Compare
67ebcd2 to
e662cbf
Compare
fc6f597 to
67eec3c
Compare
Base automatically changed from
feat/1-5-grpc-server-queue-management
to
main
February 11, 2026 21:11
add enqueue handler in scheduler that validates queue existence, constructs composite message keys, and persists to rocksdb. implement FilaService grpc trait with HotPathService serving the enqueue rpc. stub lease/ack/nack rpcs. add tests for queue validation, persistence verification, and 100-message bulk enqueue with unique time-ordered uuidv7 ids.
e662cbf to
89e7d8e
Compare
vieiralucas
added a commit
that referenced
this pull request
Mar 18, 2026
- apply_to_broker_storage now returns Result and propagates StorageError instead of silently swallowing storage failures (cubic #1) - add DeleteLeaseExpiry mutation in ack/nack replication paths to clean up orphaned lease expiry entries (cubic #3) - fix no-op leased_msg_keys.retain in recovery — now properly clears entries for the recovering queue before rebuild (cubic #4) - warn when create_group is called without broker_storage set (cubic #5) - check send_command result in watch_leader_changes — only update leading state on success so next poll retries on failure (cubic #6, #7) - trigger RecoverQueue on first-sight leader state to catch messages replicated between startup and first poll (cubic #8) - replace catch-all _ => {} with explicit variant listing in apply_to_broker_storage for compiler-enforced exhaustiveness
vieiralucas
added a commit
that referenced
this pull request
Mar 18, 2026
- apply_to_broker_storage now returns Result and propagates StorageError instead of silently swallowing storage failures (cubic #1) - add DeleteLeaseExpiry mutation in ack/nack replication paths to clean up orphaned lease expiry entries (cubic #3) - fix no-op leased_msg_keys.retain in recovery — now properly clears entries for the recovering queue before rebuild (cubic #4) - warn when create_group is called without broker_storage set (cubic #5) - check send_command result in watch_leader_changes — only update leading state on success so next poll retries on failure (cubic #6, #7) - trigger RecoverQueue on first-sight leader state to catch messages replicated between startup and first poll (cubic #8) - replace catch-all _ => {} with explicit variant listing in apply_to_broker_storage for compiler-enforced exhaustiveness
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
EnqueuegRPC RPC in newHotPathService(FilaServicetrait)handle_enqueuein scheduler: validates queue exists, constructs composite message key, persists to RocksDBmessagesCFLease,Ack,NackRPCs as UNIMPLEMENTED for future storiesFilaServiceServeralongsideFilaAdminServerin gRPC server builderTest plan
QueueNotFounderrorget_messageSummary by cubic
Implements Story 1.6 by adding the Enqueue gRPC RPC so producers can write messages to named queues with durable RocksDB storage. Validates queue existence, rejects empty queue names, assigns UUIDv7 IDs, persists via composite keys, and returns the ID.
New Features
Refactors
Written for commit b188778. Summary will update on new commits.