[ 
https://issues.apache.org/jira/browse/CASSANDRA-13172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16051187#comment-16051187
 ] 

Kurt Greaves edited comment on CASSANDRA-13172 at 6/15/17 11:05 PM:
--------------------------------------------------------------------

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.

Patch is attached (against 3.0, but should be the same in all branches I 
believe)


was (Author: kurtg):
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
>         Attachments: 13172.patch
>
>
> 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]

Reply via email to