[ https://issues.apache.org/jira/browse/CASSANDRA-12580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15528174#comment-15528174 ]
Yuki Morishita commented on CASSANDRA-12580: -------------------------------------------- Nice catch. Patch looks good to me. > Fix merkle tree size calculation > -------------------------------- > > Key: CASSANDRA-12580 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12580 > Project: Cassandra > Issue Type: Bug > Reporter: Paulo Motta > Assignee: Paulo Motta > Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x > > > On CASSANDRA-5263 it was introduced dynamic merkle tree sizing based on > estimated number of partitions as {{estimatedDepth = lg(numPartitions)}}, but > on > [CompactionManager.doValidationCompaction|https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/db/compaction/CompactionManager.java#L1052] > 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)