Details
-
Improvement
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
Description
getRangeFetchMap method in RangeStreamer should pick unique nodes to stream data from when number of replicas in each DC is three or more.
When N>=3 in a DC, there are two options for streaming a range. Consider an example of 4 nodes in one datacenter and replication factor of 3.
If a node goes down, it needs to recover 3 ranges of data. With current code, two nodes could get selected as it orders the node by proximity.
We ideally will want to select 3 nodes for streaming the data. We can do this by selecting unique nodes for each range.
Advantages:
This will increase the performance of bootstrapping a node and will also put less pressure on nodes serving the data.
Note: This does not affect if N < 3 in each DC as then it streams data from only 2 nodes.
Attachments
Attachments
Issue Links
- is related to
-
CASSANDRA-4525 https://issues.apache.org/jira/browse/CASSANDRA-4516
- Resolved
- relates to
-
CASSANDRA-13576 test failure in bootstrap_test.TestBootstrap.consistent_range_movement_false_with_rf1_should_succeed_test
- Resolved