diff --git a/CHANGES.txt b/CHANGES.txt index 57c0c78060..69de78c9cb 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -16,6 +16,7 @@ * Add guardrail for ALTER TABLE ADD / DROP / REMOVE column operations (CASSANDRA-17495) * Rename DisableFlag class to EnableFlag on guardrails (CASSANDRA-17544) Merged from 4.1: + * min_tracked_partition_size_bytes parameter from 4.1 alpha1 was renamed to min_tracked_partition_size (CASSANDRA-17733) * Remove commons-lang dependency during build runtime (CASSANDRA-17724) * Relax synchronization on StreamSession#onError() to avoid deadlock (CASSANDRA-17706) * Fix AbstractCell#toString throws MarshalException for cell in collection (CASSANDRA-17695) diff --git a/NEWS.txt b/NEWS.txt index 9e417427a4..3e016b7602 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -192,6 +192,7 @@ New features Upgrading --------- + - min_tracked_partition_size_bytes parameter from 4.1 alpha1 was renamed to min_tracked_partition_size. - Parameters of type data storage, duration and data rate cannot be set to Long.MAX_VALUE (former parameters of long type) and Integer.MAX_VALUE (former parameters of int type). Those numbers are used during conversion between units to prevent an overflow from happening. (CASSANDRA-17571) diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index 3048a9a411..b36023d260 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -1040,7 +1040,7 @@ public class Config public volatile int max_top_size_partition_count = 10; public volatile int max_top_tombstone_partition_count = 10; - public volatile DataStorageSpec.LongBytesBound min_tracked_partition_size_bytes = new DataStorageSpec.LongBytesBound("1MiB"); + public volatile DataStorageSpec.LongBytesBound min_tracked_partition_size = new DataStorageSpec.LongBytesBound("1MiB"); public volatile long min_tracked_partition_tombstone_count = 5000; public volatile boolean top_partitions_enabled = true; diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index 2ddaad74e3..d9d151f8e6 100644 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@ -4213,14 +4213,14 @@ public class DatabaseDescriptor conf.max_top_tombstone_partition_count = value; } - public static DataStorageSpec.LongBytesBound getMinTrackedPartitionSize() + public static DataStorageSpec.LongBytesBound getMinTrackedPartitionSizeInBytes() { - return conf.min_tracked_partition_size_bytes; + return conf.min_tracked_partition_size; } - public static void setMinTrackedPartitionSize(DataStorageSpec.LongBytesBound spec) + public static void setMinTrackedPartitionSizeInBytes(DataStorageSpec.LongBytesBound spec) { - conf.min_tracked_partition_size_bytes = spec; + conf.min_tracked_partition_size = spec; } public static long getMinTrackedPartitionTombstoneCount() diff --git a/src/java/org/apache/cassandra/metrics/TopPartitionTracker.java b/src/java/org/apache/cassandra/metrics/TopPartitionTracker.java index f954b58bf9..56a860aa84 100644 --- a/src/java/org/apache/cassandra/metrics/TopPartitionTracker.java +++ b/src/java/org/apache/cassandra/metrics/TopPartitionTracker.java @@ -48,7 +48,6 @@ import org.apache.cassandra.dht.Token; import org.apache.cassandra.io.sstable.SSTable; import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.service.StorageService; -import org.apache.cassandra.utils.Clock; import static org.apache.cassandra.utils.Clock.Global.currentTimeMillis; @@ -86,7 +85,7 @@ public class TopPartitionTracker implements Closeable this.metadata = metadata; topSizes.set(new TopHolder(SystemKeyspace.getTopPartitions(metadata, SIZES), DatabaseDescriptor.getMaxTopSizePartitionCount(), - DatabaseDescriptor.getMinTrackedPartitionSize().toBytes())); + DatabaseDescriptor.getMinTrackedPartitionSizeInBytes().toBytes())); topTombstones.set(new TopHolder(SystemKeyspace.getTopPartitions(metadata, TOMBSTONES), DatabaseDescriptor.getMaxTopTombstonePartitionCount(), DatabaseDescriptor.getMinTrackedPartitionTombstoneCount())); @@ -176,7 +175,7 @@ public class TopPartitionTracker implements Closeable DatabaseDescriptor.getMinTrackedPartitionTombstoneCount(), ranges); this.sizes = new TopHolder(DatabaseDescriptor.getMaxTopSizePartitionCount(), - DatabaseDescriptor.getMinTrackedPartitionSize().toBytes(), + DatabaseDescriptor.getMinTrackedPartitionSizeInBytes().toBytes(), ranges); } diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java index 6bbffb8528..bf8c65a253 100644 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@ -6729,13 +6729,13 @@ public class StorageService extends NotificationBroadcasterSupport implements IE @Override public String getMinTrackedPartitionSize() { - return DatabaseDescriptor.getMinTrackedPartitionSize().toString(); + return DatabaseDescriptor.getMinTrackedPartitionSizeInBytes().toString(); } @Override public void setMinTrackedPartitionSize(String value) { - DatabaseDescriptor.setMinTrackedPartitionSize(parseDataStorageSpec(value)); + DatabaseDescriptor.setMinTrackedPartitionSizeInBytes(parseDataStorageSpec(value)); } @Override diff --git a/test/distributed/org/apache/cassandra/distributed/test/TopPartitionsTest.java b/test/distributed/org/apache/cassandra/distributed/test/TopPartitionsTest.java index 335483454b..dcb8ab7e4b 100644 --- a/test/distributed/org/apache/cassandra/distributed/test/TopPartitionsTest.java +++ b/test/distributed/org/apache/cassandra/distributed/test/TopPartitionsTest.java @@ -74,7 +74,7 @@ public class TopPartitionsTest extends TestBaseImpl public static void setup() throws IOException { CLUSTER = init(Cluster.build(2).withConfig(config -> - config.set("min_tracked_partition_size_bytes", "0MiB") + config.set("min_tracked_partition_size", "0MiB") .set("min_tracked_partition_tombstone_count", 0) .with(GOSSIP, NETWORK)) .start()); diff --git a/test/unit/org/apache/cassandra/db/TopPartitionTrackerTest.java b/test/unit/org/apache/cassandra/db/TopPartitionTrackerTest.java index 82ef177705..417bda0f58 100644 --- a/test/unit/org/apache/cassandra/db/TopPartitionTrackerTest.java +++ b/test/unit/org/apache/cassandra/db/TopPartitionTrackerTest.java @@ -54,7 +54,7 @@ public class TopPartitionTrackerTest extends CQLTester { createTable("create table %s (id bigint primary key, x int)"); DatabaseDescriptor.setMaxTopSizePartitionCount(5); - DatabaseDescriptor.setMinTrackedPartitionSize(new DataStorageSpec.LongBytesBound("12B")); + DatabaseDescriptor.setMinTrackedPartitionSizeInBytes(new DataStorageSpec.LongBytesBound("12B")); Collection> fullRange = Collections.singleton(r(0, 0)); TopPartitionTracker tpt = new TopPartitionTracker(getCurrentColumnFamilyStore().metadata()); @@ -85,7 +85,7 @@ public class TopPartitionTrackerTest extends CQLTester public void testCountLimit() { createTable("create table %s (id bigint primary key, x int)"); - DatabaseDescriptor.setMinTrackedPartitionSize(new DataStorageSpec.LongBytesBound("0B")); + DatabaseDescriptor.setMinTrackedPartitionSizeInBytes(new DataStorageSpec.LongBytesBound("0B")); DatabaseDescriptor.setMaxTopSizePartitionCount(5); Collection> fullRange = Collections.singleton(r(0, 0)); TopPartitionTracker tpt = new TopPartitionTracker(getCurrentColumnFamilyStore().metadata()); @@ -111,7 +111,7 @@ public class TopPartitionTrackerTest extends CQLTester public void testSubRangeMerge() { createTable("create table %s (id bigint primary key, x int)"); - DatabaseDescriptor.setMinTrackedPartitionSize(new DataStorageSpec.LongBytesBound("0B")); + DatabaseDescriptor.setMinTrackedPartitionSizeInBytes(new DataStorageSpec.LongBytesBound("0B")); DatabaseDescriptor.setMaxTopSizePartitionCount(10); Collection> fullRange = Collections.singleton(r(0, 0)); TopPartitionTracker tpt = new TopPartitionTracker(getCurrentColumnFamilyStore().metadata()); @@ -140,7 +140,7 @@ public class TopPartitionTrackerTest extends CQLTester public void testSaveLoad() { createTable("create table %s (id bigint primary key, x int)"); - DatabaseDescriptor.setMinTrackedPartitionSize(new DataStorageSpec.LongBytesBound("0B")); + DatabaseDescriptor.setMinTrackedPartitionSizeInBytes(new DataStorageSpec.LongBytesBound("0B")); DatabaseDescriptor.setMinTrackedPartitionTombstoneCount(0); DatabaseDescriptor.setMaxTopSizePartitionCount(10); DatabaseDescriptor.setMaxTopTombstonePartitionCount(10); @@ -205,7 +205,7 @@ public class TopPartitionTrackerTest extends CQLTester public void randomTest() { createTable("create table %s (id bigint primary key, x int)"); - DatabaseDescriptor.setMinTrackedPartitionSize(new DataStorageSpec.LongBytesBound("0B")); + DatabaseDescriptor.setMinTrackedPartitionSizeInBytes(new DataStorageSpec.LongBytesBound("0B")); DatabaseDescriptor.setMaxTopSizePartitionCount(1000); int keyCount = 10000; long seed = System.currentTimeMillis(); @@ -254,7 +254,7 @@ public class TopPartitionTrackerTest extends CQLTester public void testRanges() throws UnknownHostException { createTable("create table %s (id bigint primary key, x int)"); - DatabaseDescriptor.setMinTrackedPartitionSize(new DataStorageSpec.LongBytesBound("0B")); + DatabaseDescriptor.setMinTrackedPartitionSizeInBytes(new DataStorageSpec.LongBytesBound("0B")); DatabaseDescriptor.setMaxTopSizePartitionCount(1000); long seed = System.currentTimeMillis(); Random r = new Random(seed);