[ 
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

Reply via email to