Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Normal
Description
It looks as though there are some odd edge cases in how we distribute the copies in system.batches.
The main issue is in the filter method for org.apache.cassandra.batchlog.BatchlogManager
if (validated.size() - validated.get(localRack).size() >= 2) { // we have enough endpoints in other racks validated.removeAll(localRack); } if (validated.keySet().size() == 1) { // we have only 1 `other` rack Collection otherRack = Iterables.getOnlyElement(validated.asMap().values()); return Lists.newArrayList(Iterables.limit(otherRack, 2)); }
So with one or two racks we just return the first 2 entries in the list. There's no shuffle or randomisation here.
Attachments
Attachments
Issue Links
- relates to
-
CASSANDRA-8735 Batch log replication is not randomized when there are only 2 racks
- Resolved