[ https://issues.apache.org/jira/browse/CASSANDRA-13172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kurt Greaves updated CASSANDRA-13172: ------------------------------------- Assignee: Kurt Greaves Reproduced In: 3.0.13, 2.2.9, 2.1.15 (was: 2.1.15) Status: Patch Available (was: Open) Should be fine to just make the calculation as a long and return it. {{DatabaseDescriptor.getCompactionLargePartitionWarningThreshold()}} only gets called in one place where it won't matter if given a long. On that note this isn't the first time I've seen this issue, and it seems there are a few other config properties that will suffer from the same problem. Not that it's ever a good idea to set these settings that high, however I have found use for some in the past, and I suspect others would too. Regardless, in my opinion if we are going to let users tune these things we should make them work as expected. > compaction_large_partition_warning_threshold_mb not working properly when set > to high value > ------------------------------------------------------------------------------------------- > > Key: CASSANDRA-13172 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13172 > Project: Cassandra > Issue Type: Bug > Components: Configuration > Reporter: Vladimir Vavro > Assignee: Kurt Greaves > Priority: Minor > > compaction_large_partition_warning_threshold_mb has been set either by > mistake or as an attempt to disable warnings completely to high value 512000 > However system started to produce warning no matter what the partition size > is: > Compacting large partition > system/compactions_in_progress:e631fe20-e488-11e6-bcd7-bf6151c7fa28 (32 bytes) > When looking into the code: > public static int getCompactionLargePartitionWarningThreshold() { return > conf.compaction_large_partition_warning_threshold_mb * 1024 * 1024; } > which is called in > private void maybeLogLargePartitionWarning(DecoratedKey key, long rowSize) > { > if (rowSize > > DatabaseDescriptor.getCompactionLargePartitionWarningThreshold()) > { > String keyString = > metadata().partitionKeyType.getString(key.getKey()); > logger.warn("Writing large partition {}/{}:{} ({}) to sstable > {}", metadata.keyspace, metadata.name, keyString, > FBUtilities.prettyPrintMemory(rowSize), getFilename()); > } > } > it looks like 512000 is multiplied by 1M and returned as int so being out of > range... Maybe it would be better to use long as it is used for rowSize -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org