[
https://issues.apache.org/jira/browse/CASSANDRA-13172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jeff Jirsa updated CASSANDRA-13172:
-----------------------------------
Resolution: Fixed
Fix Version/s: (was: 3.11.x)
(was: 4.x)
(was: 3.0.x)
4.0
3.11.0
3.0.14
Reproduced In: 3.0.13, 2.2.9, 2.1.15 (was: 2.1.15, 2.2.9, 3.0.13)
Status: Resolved (was: Ready to Commit)
It's a pretty obvious fix, dont think we need dtests (there's not a dtest that
would cause this to fail anyway). In theory we may want to at some point write
a unit test to see if we handle this properly, but it's fairly obvious
overflow, so it's fine as is. Committed as
{{f3e38cb638113c2a23855a104d6082da5bc10ddb}} to 3.0 for 3.0.14, merged through
to 3.11.0 and trunk (4.0)
> 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
> Fix For: 3.0.14, 3.11.0, 4.0
>
> 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:
> {code}
> public static int getCompactionLargePartitionWarningThreshold() { return
> conf.compaction_large_partition_warning_threshold_mb * 1024 * 1024; }
> {code}
> which is called in
> {code}
> 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());
> }
> }
> {code}
> 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]