mirror of https://github.com/apache/cassandra
Merge branch 'cassandra-4.1' into trunk
This commit is contained in:
commit
1c2cd30125
|
|
@ -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)
|
||||
|
|
|
|||
1
NEWS.txt
1
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)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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<Range<Token>> 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<Range<Token>> 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<Range<Token>> 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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue