[
https://issues.apache.org/jira/browse/CASSANDRA-12580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yuki Morishita updated CASSANDRA-12580:
---------------------------------------
Status: Ready to Commit (was: Patch Available)
> 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)