krishvishal opened a new pull request, #2853:
URL: https://github.com/apache/iggy/pull/2853
In the shard router each shard gets an inbox (flume channel) and a vector
of senders to all other shards (including itself). When a message arrives at
any shard, the router:
1. Decomposes the generic message to extract the operation and namespace
2. Resolves the target shard - metadata ops go to shard 0, partition ops
are looked up in the ShardsTable, unknown ops default to shard 0
3. Enqueues a ShardFrame into the target shard's channel
The message pump (run_message_pump) drains the inbox and processes frames
sequentially, ensuring all mutations on a given shard are serialized through a
single async task.
The ShardsTable trait abstracts partition ownership lookup with two
implementations:
- () : no-op for single-shard setups (simulator for now)
- PapayaShardsTable: lock-free concurrent map for multi-shard deployments
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]