[
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: [email protected]
For additional commands, e-mail: [email protected]