Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Normal
Description
On CASSANDRA-5263 it was introduced dynamic merkle tree sizing based on estimated number of partitions as estimatedDepth = lg(numPartitions), but on CompactionManager.doValidationCompaction this is being calculated as:
int depth = numPartitions > 0 ? (int) Math.min(Math.floor(Math.log(numPartitions)), 20) : 0;
This is actually calculating ln(numPartitions) (base-e) instead of lg(numPartitions) (base-2), which causes merkle trees to lose resolution, what may result in overstreaming.
Attachments
Issue Links
- relates to
-
CASSANDRA-12846 Repair is taking too much time
- Resolved