(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit aa20c9ab11b4e14ce5bcebba14c92f984a17554b Merge: 5c3efdd35d 34e7fe4b4f Author: Mick Semb Wever AuthorDate: Wed May 29 11:09:17 2024 +0200 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: Update netbeans project file for latest deps ide/nbproject/project.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --cc ide/nbproject/project.xml index 3900f1f47e,32e993ab40..e741df8b64 --- a/ide/nbproject/project.xml +++ b/ide/nbproject/project.xml @@@ -7,7 -7,7 +7,7 @@@ .. - ${project.dir}/build/lib/jars/HdrHistogram-2.1.9.jar:${project.dir}/build/lib/jars/ST4-4.0.8.jar:${project.dir}/build/lib/jars/airline-0.8.jar:${project.dir}/build/lib/jars/antlr-3.5.2.jar:${project.dir}/build/lib/jars/antlr-runtime-3.5.2.jar:${project.dir}/build/lib/jars/asm-9.1.jar:${project.dir}/build/lib/jars/assertj-core-3.15.0.jar:${project.dir}/build/lib/jars/byteman-4.0.6.jar:${project.dir}/build/lib/jars/byteman-bmunit-4 [...] -${project.dir}/build/lib/jars/HdrHistogram-2.1.12.jar:${project.dir}/build/lib/jars/ST4-4.0.8.jar:${project.dir}/build/lib/jars/airline-0.8.jar:${project.dir}/build/lib/jars/antlr-3.5.2.jar:${project.dir}/build/lib/jars/antlr-runtime-3.5.2.jar:${project.dir}/build/lib/jars/asm-7.1.jar:${project.dir}/build/lib/jars/byteman-4.0.6.jar:${project.dir}/build/lib/jars/byteman-bmunit-4.0.6.jar:${project.dir}/build/lib/jars/byteman-instal [...] ++${project.dir}/build/lib/jars/HdrHistogram-2.1.12.jar:${project.dir}/build/lib/jars/ST4-4.0.8.jar:${project.dir}/build/lib/jars/airline-0.8.jar:${project.dir}/build/lib/jars/antlr-3.5.2.jar:${project.dir}/build/lib/jars/antlr-runtime-3.5.2.jar:${project.dir}/build/lib/jars/asm-9.1.jar:${project.dir}/build/lib/jars/byteman-4.0.6.jar:${project.dir}/build/lib/jars/byteman-bmunit-4.0.6.jar:${project.dir}/build/lib/jars/byteman-instal [...] - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit c6017aca778df72e1944b1855c902027b8abad7f Merge: 103e9cca1a 057d082e00 Author: Brandon Williams AuthorDate: Wed May 8 10:22:07 2024 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + conf/jvm-server.options| 4 ++ .../config/CassandraRelevantProperties.java| 2 + src/java/org/apache/cassandra/gms/Gossiper.java| 46 -- .../org/apache/cassandra/gms/VersionedValue.java | 2 + 5 files changed, 52 insertions(+), 3 deletions(-) diff --cc CHANGES.txt index 0095e2d078,2d56a56c61..2f31f4a2e2 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,5 -1,5 +1,6 @@@ -4.0.14 +4.1.6 +Merged from 4.0: + * Add timeout specifically for bootstrapping nodes (CASSANDRA-15439) * Bring Redhat packge dirs/ownership/perms in line with Debian package (CASSANDRA-19565) diff --cc src/java/org/apache/cassandra/gms/Gossiper.java index 9be48f96bb,009e6b255f..ff1264d6fa --- a/src/java/org/apache/cassandra/gms/Gossiper.java +++ b/src/java/org/apache/cassandra/gms/Gossiper.java @@@ -272,9 -258,28 +276,28 @@@ public class Gossiper implements IFailu return 259200 * 1000; // 3 days } + private static long getFailedBootstrapTimeout() + { + String newtimeout = CassandraRelevantProperties.FAILED_BOOTSTRAP_TIMEOUT.getString(); + if (newtimeout != null) + { + long longValue = Long.parseLong(newtimeout); + if (longValue == -1) + { + longValue = Long.MAX_VALUE; + } + logger.info("Overriding FAILED_BOOTSTRAP_TIMEOUT to {}ms", longValue); + return longValue; + } + else + { + return FAT_CLIENT_TIMEOUT * 2; + } + } + private static boolean isInGossipStage() { -return ((JMXEnabledSingleThreadExecutor) Stage.GOSSIP.executor()).isExecutedBy(Thread.currentThread()); +return Stage.GOSSIP.executor().inExecutor(); } private static void checkProperThreadForStateMutation() - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 103e9cca1abe66905188d5ac0137f785b22b Merge: 6b13426562 f12f928dee Author: Brandon Williams AuthorDate: Mon May 6 08:35:07 2024 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt | 5 + redhat/cassandra.spec | 7 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --cc CHANGES.txt index 4c7d59183e,a506c9e9e0..0095e2d078 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,10 -1,8 +1,15 @@@ -4.0.14 ++4.1.6 ++Merged from 4.0: + * Bring Redhat packge dirs/ownership/perms in line with Debian package (CASSANDRA-19565) + + -4.0.13 +4.1.5 + * Make queries visible to the "system_views.queries" virtual table at the coordinator level (CASSANDRA-19577) + * Concurrent equivalent schema updates lead to unresolved disagreement (CASSANDRA-19578) + * Fix hints delivery for a node going down repeatedly (CASSANDRA-19495) + * Do not go to disk for reading hints file sizes (CASSANDRA-19477) + * Fix system_views.settings to handle array types (CASSANDRA-19475) +Merged from 4.0: * Make nodetool import congruent with the documentation by not relying on the folder structure of the imported SSTable files (CASSANDRA-19401) * IR may leak SSTables with pending repair when coming from streaming (CASSANDRA-19182) * Streaming exception race creates corrupt transaction log files that prevent restart (CASSANDRA-18736) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 5cf8a4cbbb6544f87c1619a3f9acd736a294bbe6 Merge: 85039aa8c5 a6fb3b76fe Author: Brandon Williams AuthorDate: Thu May 2 10:13:53 2024 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. dcapwell pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 7c79d91b6fef51f87640d99b601845c1dc2f7032 Merge: 428fa1f445 c14abb40b2 Author: ci worker AuthorDate: Wed May 1 14:32:09 2024 -0700 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../db/compaction/AbstractStrategyHolder.java | 1 + .../db/compaction/CompactionStrategyHolder.java| 6 .../db/compaction/CompactionStrategyManager.java | 18 +++- .../db/compaction/PendingRepairHolder.java | 12 .../db/compaction/PendingRepairManager.java| 11 ++- .../org/apache/cassandra/db/lifecycle/Tracker.java | 2 ++ .../cassandra/repair/RepairMessageVerbHandler.java | 3 ++ .../apache/cassandra/repair/RepairRunnable.java| 4 +++ .../distributed/test/DistributedRepairUtils.java | 34 ++ .../distributed/test/RepairCoordinatorFast.java| 3 ++ .../test/RepairCoordinatorNeighbourDown.java | 3 ++ 12 files changed, 96 insertions(+), 2 deletions(-) diff --cc CHANGES.txt index e4de315818,5db267e099..17257d606a --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,10 -1,5 +1,11 @@@ -4.0.13 +4.1.5 + * Make queries visible to the "system_views.queries" virtual table at the coordinator level (CASSANDRA-19577) + * Concurrent equivalent schema updates lead to unresolved disagreement (CASSANDRA-19578) + * Fix hints delivery for a node going down repeatedly (CASSANDRA-19495) + * Do not go to disk for reading hints file sizes (CASSANDRA-19477) + * Fix system_views.settings to handle array types (CASSANDRA-19475) +Merged from 4.0: + * IR may leak SSTables with pending repair when coming from streaming (CASSANDRA-19182) * Streaming exception race creates corrupt transaction log files that prevent restart (CASSANDRA-18736) * Fix CQL tojson timestamp output on negative timestamp values before Gregorian calendar reform in 1582 (CASSANDRA-19566) * Fix few types issues and implement types compatibility tests (CASSANDRA-19479) diff --cc src/java/org/apache/cassandra/db/compaction/CompactionStrategyManager.java index 5e1d56122b,93105c8a11..e6b27594f2 --- a/src/java/org/apache/cassandra/db/compaction/CompactionStrategyManager.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionStrategyManager.java @@@ -434,6 -434,20 +434,20 @@@ public class CompactionStrategyManager } } + @VisibleForTesting -public boolean hasPendingRepairSSTable(UUID sessionID, SSTableReader sstable) ++public boolean hasPendingRepairSSTable(TimeUUID sessionID, SSTableReader sstable) + { + readLock.lock(); + try + { + return pendingRepairs.hasPendingRepairSSTable(sessionID, sstable) || transientRepairs.hasPendingRepairSSTable(sessionID, sstable); + } + finally + { + readLock.unlock(); + } + } + public void shutdown() { writeLock.lock(); @@@ -1183,8 -1159,10 +1197,10 @@@ * Mutates sstable repairedAt times and notifies listeners of the change with the writeLock held. Prevents races * with other processes between when the metadata is changed and when sstables are moved between strategies. */ -public void mutateRepaired(Collection sstables, long repairedAt, UUID pendingRepair, boolean isTransient) throws IOException +public void mutateRepaired(Collection sstables, long repairedAt, TimeUUID pendingRepair, boolean isTransient) throws IOException { + if (sstables.isEmpty()) + return; Set changed = new HashSet<>(); writeLock.lock(); diff --cc src/java/org/apache/cassandra/db/compaction/PendingRepairHolder.java index 314df9e25e,d8a561bc40..86c40e8958 --- a/src/java/org/apache/cassandra/db/compaction/PendingRepairHolder.java +++ b/src/java/org/apache/cassandra/db/compaction/PendingRepairHolder.java @@@ -281,4 -288,9 +288,9 @@@ public class PendingRepairHolder extend { return Iterables.any(managers, prm -> prm.containsSSTable(sstable)); } + -public boolean hasPendingRepairSSTable(UUID sessionID, SSTableReader sstable) ++public boolean hasPendingRepairSSTable(TimeUUID sessionID, SSTableReader sstable) + { + return Iterables.any(managers, prm -> prm.hasPendingRepairSSTable(sessionID, sstable)); + } } diff --cc src/java/org/apache/cassandra/db/compaction/PendingRepairManager.java index 11d6fe82a5,bbc7198fb4..b99d01b00e --- a/src/java/org/apache/cassandra/db/compaction/PendingRepairManager.java +++ b/src/java/org/apache/cassandra/db/compaction/PendingRepairManager.java @@@ -462,9 -462,9 +462,9 @@@ class PendingRepairManage return strategies.values().contains(strategy); } -public synchronized boolean
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. jonmeredith pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 858a2b232178427a7f7696b4f086c1b8c1e2282d Merge: e471a57dc2 9157d98e4c Author: Jon Meredith AuthorDate: Thu Apr 25 14:00:02 2024 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../org/apache/cassandra/db/lifecycle/LogFile.java | 36 ++-- .../cassandra/db/lifecycle/LogReplicaSet.java | 6 +- .../TransactionAlreadyCompletedException.java | 36 .../apache/cassandra/streaming/StreamSession.java | 22 ++- .../streaming/StreamFailedWhileReceivingTest.java | 208 + .../cassandra/db/lifecycle/LogTransactionTest.java | 32 7 files changed, 326 insertions(+), 15 deletions(-) diff --cc CHANGES.txt index 188ce274b2,64c63912ba..23dbee1941 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,8 -1,5 +1,9 @@@ -4.0.13 +4.1.5 + * Fix hints delivery for a node going down repeatedly (CASSANDRA-19495) + * Do not go to disk for reading hints file sizes (CASSANDRA-19477) + * Fix system_views.settings to handle array types (CASSANDRA-19475) +Merged from 4.0: + * Streaming exception race creates corrupt transaction log files that prevent restart (CASSANDRA-18736) * Fix CQL tojson timestamp output on negative timestamp values before Gregorian calendar reform in 1582 (CASSANDRA-19566) * Fix few types issues and implement types compatibility tests (CASSANDRA-19479) * Optionally avoid hint transfer during decommission (CASSANDRA-19525) diff --cc src/java/org/apache/cassandra/db/lifecycle/LogFile.java index 11e3ffbde1,d67019008f..9db3cb477c --- a/src/java/org/apache/cassandra/db/lifecycle/LogFile.java +++ b/src/java/org/apache/cassandra/db/lifecycle/LogFile.java @@@ -277,12 -289,14 +291,14 @@@ final class LogFile implements AutoClos void commit() { -addRecord(LogRecord.makeCommit(System.currentTimeMillis())); +addRecord(LogRecord.makeCommit(currentTimeMillis())); + completed = true; } void abort() { -addRecord(LogRecord.makeAbort(System.currentTimeMillis())); +addRecord(LogRecord.makeAbort(currentTimeMillis())); + completed = true; } private boolean isLastRecordValidWithType(Type type) diff --cc src/java/org/apache/cassandra/db/lifecycle/LogReplicaSet.java index 316e4b628d,3fa4d95579..c505926db7 --- a/src/java/org/apache/cassandra/db/lifecycle/LogReplicaSet.java +++ b/src/java/org/apache/cassandra/db/lifecycle/LogReplicaSet.java @@@ -17,8 -17,8 +17,7 @@@ */ package org.apache.cassandra.db.lifecycle; -import java.io.File; import java.util.Collection; - import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@@ -27,8 -27,9 +26,10 @@@ import java.util.Set import java.util.function.Function; import java.util.stream.Collectors; + import javax.annotation.concurrent.NotThreadSafe; + import com.google.common.annotations.VisibleForTesting; +import org.apache.cassandra.io.util.File; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --cc src/java/org/apache/cassandra/db/lifecycle/TransactionAlreadyCompletedException.java index 00,0ee3c3e5cb..ee13b54ccd mode 00,100644..100644 --- a/src/java/org/apache/cassandra/db/lifecycle/TransactionAlreadyCompletedException.java +++ b/src/java/org/apache/cassandra/db/lifecycle/TransactionAlreadyCompletedException.java @@@ -1,0 -1,36 +1,36 @@@ + /* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + package org.apache.cassandra.db.lifecycle; + -import java.io.File; + import java.util.List; + ++import org.apache.cassandra.io.util.File; + + public class TransactionAlreadyCompletedException extends IllegalStateException + { + private TransactionAlreadyCompletedException(List files) + { + super("Transaction already completed. " + files); + } + + static TransactionAlreadyCompletedException create(List files) + { + return new TransactionAlreadyCompletedException(files); +
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 643d7f1751fcac3f732301f87fe6b7e7d1a9d6b7 Merge: a6209d0cfc 0662094b84 Author: Brandon Williams AuthorDate: Tue Apr 16 13:27:18 2024 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit a6209d0cfc22c7688cbe5a87c9c75a33230157e1 Merge: b525f5fff4 53f07f9610 Author: Brandon Williams AuthorDate: Mon Apr 15 11:25:24 2024 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit b525f5fff4eed4c99bd4673a03846ef95ef21671 Merge: b3bca0ad6a fd46d400b5 Author: Brandon Williams AuthorDate: Fri Apr 12 13:50:49 2024 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit b3bca0ad6a0d9eff6353c17df7766c2dfd750ab7 Merge: 39bd3c2261 9a1d7912ef Author: Brandon Williams AuthorDate: Thu Apr 11 13:51:17 2024 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. maedhroz pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 39bd3c22612e99239f91f881558329251a4c4e98 Merge: 5fb562d7ef 0974a3656d Author: Caleb Rackliffe AuthorDate: Mon Apr 8 15:27:12 2024 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: Optionally avoid hint transfer during decommission CHANGES.txt| 1 + conf/cassandra.yaml| 5 +++ src/java/org/apache/cassandra/config/Config.java | 1 + .../cassandra/config/DatabaseDescriptor.java | 9 + .../cassandra/hints/HintsDispatchExecutor.java | 21 ++ .../apache/cassandra/service/StorageService.java | 28 -- .../cassandra/service/StorageServiceMBean.java | 4 ++ .../test/HintedHandoffAddRemoveNodesTest.java | 45 +- 8 files changed, 103 insertions(+), 11 deletions(-) diff --cc CHANGES.txt index de36d88adf,b71ca9254f..8f718e4e89 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,8 -1,5 +1,9 @@@ -4.0.13 +4.1.5 + * Fix hints delivery for a node going down repeatedly (CASSANDRA-19495) + * Do not go to disk for reading hints file sizes (CASSANDRA-19477) + * Fix system_views.settings to handle array types (CASSANDRA-19475) +Merged from 4.0: + * Optionally avoid hint transfer during decommission (CASSANDRA-19525) * Change logging to TRACE when failing to get peer certificate (CASSANDRA-19508) * Push LocalSessions info logs to debug (CASSANDRA-18335) * Filter remote DC replicas out when constructing the initial replica plan for the local read repair (CASSANDRA-19120) diff --cc conf/cassandra.yaml index 1986d6fa29,b5e6af8767..be1439c80e --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@@ -83,22 -81,16 +83,27 @@@ max_hints_delivery_threads: # How often hints should be flushed from the internal buffers to disk. # Will *not* trigger fsync. -hints_flush_period_in_ms: 1 +# Min unit: ms +hints_flush_period: 1ms -# Maximum size for a single hints file, in megabytes. -max_hints_file_size_in_mb: 128 +# Maximum size for a single hints file, in mebibytes. +# Min unit: MiB +max_hints_file_size: 128MiB + +# The file size limit to store hints for an unreachable host, in mebibytes. +# Once the local hints files have reached the limit, no more new hints will be created. +# Set a non-positive value will disable the size limit. +# max_hints_size_per_host: 0MiB + +# Enable / disable automatic cleanup for the expired and orphaned hints file. +# Disable the option in order to preserve those hints on the disk. +auto_hints_cleanup_enabled: false + # Enable/disable transfering hints to a peer during decommission. Even when enabled, this does not guarantee + # consistency for logged batches, and it may delay decommission when coupled with a strict hinted_handoff_throttle. + # Default: true -#transfer_hints_on_decommission: true ++# transfer_hints_on_decommission: true + # Compression to apply to the hint files. If omitted, hints files # will be written uncompressed. LZ4, Snappy, and Deflate compressors # are supported. diff --cc src/java/org/apache/cassandra/config/Config.java index 298903acf3,dc17639f98..3a62aae7c7 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@@ -409,19 -290,13 +409,20 @@@ public class Confi public InternodeCompression internode_compression = InternodeCompression.none; -public int hinted_handoff_throttle_in_kb = 1024; -public int batchlog_replay_throttle_in_kb = 1024; +@Replaces(oldName = "hinted_handoff_throttle_in_kb", converter = Converters.KIBIBYTES_DATASTORAGE, deprecated = true) +public DataStorageSpec.IntKibibytesBound hinted_handoff_throttle = new DataStorageSpec.IntKibibytesBound("1024KiB"); +@Replaces(oldName = "batchlog_replay_throttle_in_kb", converter = Converters.KIBIBYTES_DATASTORAGE, deprecated = true) +public DataStorageSpec.IntKibibytesBound batchlog_replay_throttle = new DataStorageSpec.IntKibibytesBound("1024KiB"); public int max_hints_delivery_threads = 2; -public int hints_flush_period_in_ms = 1; -public int max_hints_file_size_in_mb = 128; +@Replaces(oldName = "hints_flush_period_in_ms", converter = Converters.MILLIS_DURATION_INT, deprecated = true) +public DurationSpec.IntMillisecondsBound hints_flush_period = new DurationSpec.IntMillisecondsBound("10s"); +@Replaces(oldName = "max_hints_file_size_in_mb", converter = Converters.MEBIBYTES_DATA_STORAGE_INT, deprecated = true) +public DataStorageSpec.IntMebibytesBound max_hints_file_size = new DataStorageSpec.IntMebibytesBound("128MiB"); +public volatile DataStorageSpec.LongBytesBound max_hints_size_per_host = new DataStorageSpec.LongBytesBound("0B"); // 0 means disabled
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 659e41db9a06de4336a2152234fe960ca07b7c37 Merge: 7cbf59e9a1 6a640b0c4e Author: Brandon Williams AuthorDate: Thu Apr 4 11:00:07 2024 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt | 1 + src/java/org/apache/cassandra/transport/ServerConnection.java | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --cc CHANGES.txt index 50a55b60d6,20f4fd47ea..6345b3e6dd --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,7 -1,5 +1,8 @@@ -4.0.13 +4.1.5 + * Do not go to disk for reading hints file sizes (CASSANDRA-19477) + * Fix system_views.settings to handle array types (CASSANDRA-19475) +Merged from 4.0: + * Change logging to TRACE when failing to get peer certificate (CASSANDRA-19508) * Push LocalSessions info logs to debug (CASSANDRA-18335) * Filter remote DC replicas out when constructing the initial replica plan for the local read repair (CASSANDRA-19120) * Remove redundant code in StorageProxy#sendToHintedReplicas (CASSANDRA-19412) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 7cbf59e9a1c17593c7924f096e30fedb2ef742f9 Merge: 59789544bd f0aa6744d2 Author: Brandon Williams AuthorDate: Wed Apr 3 16:49:47 2024 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 doc/modules/cassandra/examples/BASH/add_repo_keys.sh | 2 +- doc/modules/cassandra/examples/BASH/get_deb_package.sh | 2 +- doc/modules/cassandra/partials/package_versions.adoc | 14 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --cc doc/modules/cassandra/examples/BASH/get_deb_package.sh index 69648e8928,3512c37c61..62ed5d4ff7 --- a/doc/modules/cassandra/examples/BASH/get_deb_package.sh +++ b/doc/modules/cassandra/examples/BASH/get_deb_package.sh @@@ -1,2 -1,2 +1,2 @@@ - $ echo "deb https://debian.cassandra.apache.org 41x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list -$ echo "deb [signed-by=/etc/apt/keyrings/apache-cassandra.asc] https://debian.cassandra.apache.org 40x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list -deb https://debian.cassandra.apache.org 40x main ++$ echo "deb [signed-by=/etc/apt/keyrings/apache-cassandra.asc] https://debian.cassandra.apache.org 41x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list +deb https://debian.cassandra.apache.org 41x main diff --cc doc/modules/cassandra/partials/package_versions.adoc index 12eab03eb5,a5c7bfe67c..b968ebb9ff --- a/doc/modules/cassandra/partials/package_versions.adoc +++ b/doc/modules/cassandra/partials/package_versions.adoc @@@ -1,5 -1,10 +1,9 @@@ - The latest major version is {40_version} and the - corresponding distribution name is `40x` (with an "x" as the suffix). - For older releases use `311x` for C* {3x_version} series, `30x` for {30_version}, `22x` - for {22_version} and `21x` for {21_version}. For example, to add the repository for - version {40_version} (`40x`): -The latest major version is {40_version} and the corresponding distribution name is `40x` (with an "x" as the suffix). ++The latest major version is {41_version} and the corresponding distribution name is `41x` (with an "x" as the suffix). + For older releases use: + ++* `41x` for C* {41_version} series + * `40x` for C* {40_version} series + * `311x` for C* {311_version} series + * `30x` for C* {30_version} series -* `22x` for C* {22_version} series -* `21x` for C* {21_version} series + -For example, to add the repository for version {40_version} (`40x`): ++For example, to add the repository for version {41_version} (`41x`): - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 8502da494cd94882915da4bd003833411d7f Merge: e120088d44 a2fbb17867 Author: Brandon Williams AuthorDate: Thu Mar 14 10:25:23 2024 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../cassandra/repair/consistent/LocalSessions.java | 36 +++--- 2 files changed, 19 insertions(+), 18 deletions(-) diff --cc CHANGES.txt index fdb19e0cf0,69f8be60a5..a091edb379 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,5 -1,5 +1,6 @@@ -4.0.13 +4.1.5 +Merged from 4.0: + * Push LocalSessions info logs to debug (CASSANDRA-18335) * Filter remote DC replicas out when constructing the initial replica plan for the local read repair (CASSANDRA-19120) * Remove redundant code in StorageProxy#sendToHintedReplicas (CASSANDRA-19412) * Remove bashisms for mx4j tool in cassandra-env.sh (CASSANDRA-19416) diff --cc src/java/org/apache/cassandra/repair/consistent/LocalSessions.java index ed2bf0bc0b,e61ad47003..5fcfe986c5 --- a/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java +++ b/src/java/org/apache/cassandra/repair/consistent/LocalSessions.java @@@ -322,9 -320,9 +322,9 @@@ public class LocalSession * hook for operators to cancel sessions, cancelling from a non-coordinator is an error, unless * force is set to true. Messages are sent out to other participants, but we don't wait for a response */ -public void cancelSession(UUID sessionID, boolean force) +public void cancelSession(TimeUUID sessionID, boolean force) { - logger.info("Cancelling local repair session {}", sessionID); + logger.debug("Cancelling local repair session {}", sessionID); LocalSession session = getSession(sessionID); Preconditions.checkArgument(session != null, "Session {} does not exist", sessionID); Preconditions.checkArgument(force || session.coordinator.equals(getBroadcastAddressAndPort()), @@@ -747,9 -745,9 +747,9 @@@ } } -public synchronized void deleteSession(UUID sessionID) +public synchronized void deleteSession(TimeUUID sessionID) { - logger.info("Deleting local repair session {}", sessionID); + logger.debug("Deleting local repair session {}", sessionID); LocalSession session = getSession(sessionID); Preconditions.checkArgument(session.isCompleted(), "Cannot delete incomplete sessions"); @@@ -819,9 -817,9 +819,9 @@@ LocalSession session = createSessionUnsafe(sessionID, parentSession, peers); putSessionUnsafe(session); - logger.info("Beginning local incremental repair session {}", session); + logger.debug("Beginning local incremental repair session {}", session); -ExecutorService executor = Executors.newFixedThreadPool(parentSession.getColumnFamilyStores().size()); +ExecutorService executor = executorFactory().pooled("Repair-" + sessionID, parentSession.getColumnFamilyStores().size()); KeyspaceRepairManager repairManager = parentSession.getKeyspace().getRepairManager(); RangesAtEndpoint tokenRanges = filterLocalRanges(parentSession.getKeyspace().getName(), parentSession.getRanges()); @@@ -834,9 -832,10 +834,9 @@@ { try { - logger.info("Prepare phase for incremental repair session {} completed", sessionID); + logger.debug("Prepare phase for incremental repair session {} completed", sessionID); if (!prepareSessionExceptFailed(session)) - logger.info("Session {} failed before anticompaction completed", sessionID); + logger.debug("Session {} failed before anticompaction completed", sessionID); - Message message = Message.out(PREPARE_CONSISTENT_RSP, new PrepareConsistentResponse(sessionID, getBroadcastAddressAndPort(), session.getState() != FAILED)); @@@ -852,12 -851,7 +852,12 @@@ { try { -logger.error("Prepare phase for incremental repair session {} failed", sessionID, t); +if (Throwables.anyCauseMatches(t, (throwable) -> throwable instanceof CompactionInterruptedException)) - logger.info("Anticompaction interrupted for session {}: {}", sessionID, t.getMessage()); ++logger.debug("Anticompaction interrupted for session {}: {}", sessionID, t.getMessage()); +else if (Throwables.anyCauseMatches(t, (throwable) -> throwable instanceof NoSuchRepairSessionException)) +
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. bereng pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 612c9638dc53289e9e4cded17f3a5268176013b8 Merge: 95fcefede2 dee7947422 Author: Bereng AuthorDate: Mon Feb 26 07:44:55 2024 +0100 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: Bug in generate.sh removal of jobs .circleci/generate.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. adelapena pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 89a8155916ff7f94db9436de3f096aa22e047e35 Merge: d9dbd5e1d0 505f5af645 Author: Andrés de la Peña AuthorDate: Thu Feb 8 11:11:07 2024 + Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + conf/cassandra.yaml| 36 +- src/java/org/apache/cassandra/config/Config.java | 2 + .../cassandra/config/DatabaseDescriptor.java | 10 ++ .../cassandra/repair/AbstractRepairTask.java | 6 +- .../cassandra/repair/IncrementalRepairTask.java| 4 +- .../apache/cassandra/repair/NormalRepairTask.java | 4 +- .../apache/cassandra/repair/PreviewRepairTask.java | 4 +- .../org/apache/cassandra/repair/RepairJob.java | 106 .../apache/cassandra/repair/RepairRunnable.java| 4 +- .../org/apache/cassandra/repair/RepairSession.java | 3 + .../org/apache/cassandra/repair/RepairTask.java| 6 +- .../org/apache/cassandra/repair/Scheduler.java | 118 ++ .../cassandra/service/ActiveRepairService.java | 17 ++- .../service/ActiveRepairServiceMBean.java | 4 + .../test/OptimiseStreamsRepairTest.java| 18 +-- .../repair/ConcurrentValidationRequestsTest.java | 136 + .../org/apache/cassandra/repair/RepairJobTest.java | 6 +- .../apache/cassandra/repair/RepairSessionTest.java | 2 +- 19 files changed, 403 insertions(+), 84 deletions(-) diff --cc CHANGES.txt index 4b8393ebc2,baeb9b7f61..44ca779885 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,13 -1,11 +1,14 @@@ -4.0.13 +4.1.4 + * Memoize Cassandra verion and add a backoff interval for failed schema pulls (CASSANDRA-18902) + * Fix StackOverflowError on ALTER after many previous schema changes (CASSANDRA-19166) + * Fixed the inconsistency between distributedKeyspaces and distributedAndLocalKeyspaces (CASSANDRA-18747) + * Internode legacy SSL storage port certificate is not hot reloaded on update (CASSANDRA-18681) + * Nodetool paxos-only repair is no longer incremental (CASSANDRA-18466) + * Waiting indefinitely on ReceivedMessage response in StreamSession#receive() can cause deadlock (CASSANDRA-18733) + * Allow empty keystore_password in encryption_options (CASSANDRA-18778) + * Skip ColumnFamilyStore#topPartitions initialization when client or tool mode (CASSANDRA-18697) +Merged from 4.0: + * Add new concurrent_merkle_tree_requests config property to prevent OOM during multi-range and/or multi-table repairs (CASSANDRA-19336) -Merged from 3.11: -Merged from 3.0: - * Backport CASSANDRA-16418 to 3.x (CASSANDRA-18824) - - -4.0.12 * Skip version check if an endpoint is dead state in Gossiper#upgradeFromVersionSupplier (CASSANDRA-19187) * Fix Gossiper::hasMajorVersion3Nodes to return false during minor upgrade (CASSANDRA-18999) * Revert unnecessary read lock acquisition when reading ring version in TokenMetadata introduced in CASSANDRA-16286 (CASSANDRA-19107) diff --cc conf/cassandra.yaml index 4b2711cfb7,7f162749d2..1986d6fa29 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@@ -652,9 -565,29 +655,30 @@@ memtable_allocation_type: heap_buffer # # For more details see https://issues.apache.org/jira/browse/CASSANDRA-14096. # -# repair_session_space_in_mb: +# Min unit: MiB +# repair_session_space: + # The number of simultaneous Merkle tree requests during repairs that can + # be performed by a repair command. The size of each validation request is + # limited by the repair_session_space property, so setting this to 1 will make + # sure that a repair command doesn't exceed that limit, even if the repair + # command is repairing multiple tables or multiple virtual nodes. + # + # There isn't a limit by default for backwards compatibility, but this can + # produce OOM for commands repairing multiple tables or multiple virtual nodes. + # A limit of just 1 simultaneous Merkle tree request is generally recommended + # with no virtual nodes so repair_session_space, and thereof the Merkle tree + # resolution, can be high. For virtual nodes a value of 1 with the default + # repair_session_space value will produce higher resolution Merkle trees + # at the expense of speed. Alternatively, when working with virtual nodes it + # can make sense to reduce the repair_session_space and increase the value of + # concurrent_merkle_tree_requests because each range will contain fewer data. + # + # For more details see https://issues.apache.org/jira/browse/CASSANDRA-19336. + # + # A zero value means no limit. + # concurrent_merkle_tree_requests: 0 + # Total space to use for commit logs on disk. # # If space gets above this value, Cassandra will flush every dirty CF diff --cc src/java/org/apache/cassandra/config/Config.java index
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit cd7ff04e729d1c383149cdfd911bb2cfd19e7d09 Merge: 8709b28224 1e450dbb1a Author: Brandon Williams AuthorDate: Fri Feb 2 07:24:28 2024 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 .circleci/config.yml | 58 +-- .circleci/config.yml.FREE | 58 +-- .circleci/config.yml.PAID | 58 +-- .circleci/config_template.yml | 2 +- 4 files changed, 88 insertions(+), 88 deletions(-) diff --cc .circleci/config.yml index bb65172476,96c4b69887..6e48d91b50 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@@ -2359,7 -2633,7 +2359,7 @@@ jobs - run: name: Run dtests (j11_large_without_vnodes) no_output_timeout: 15m - command: "echo \"cat /tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\"\ncat /tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\n\nsource ~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho \"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need the \"set -o pipefail\" here so that the exit code that circleci will actually use is from [...] -command: "echo \"cat /tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\"\ncat /tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\n\nsource ~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho \"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need the \"set -o pipefail\" here so that the exit code that circleci will actually use is from [...] ++command: "echo \"cat /tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\"\ncat /tmp/split_dtest_tests_j11_large_without_vnodes_final.txt\n\nsource ~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho \"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need the \"set -o pipefail\" here so that the exit code that circleci will actually use is from [...] - store_test_results: path: /tmp/results - store_artifacts: @@@ -4053,13 -4386,37 +4053,13 @@@ pip3 uninstall -y cqlsh pip3 freeze - run: -name: Determine Tests to Run (j8_without_vnodes) +name: Determine Tests to Run (j8_large_without_vnodes) no_output_timeout: 5m -command: "# reminder: this code (along with all the steps) is independently executed on every circle container\n# so the goal here is to get the circleci script to return the tests *this* container will run\n# which we do via the `circleci` cli tool.\n\ncd cassandra-dtest\nsource ~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n export \nfi\n\necho \"***Collected DTests (j8_without_vnodes)***\"\nset -eo pipefail && ./run_dtests.py --skip-resource-i [...] +command: "# reminder: this code (along with all the steps) is independently executed on every circle container\n# so the goal here is to get the circleci script to return the tests *this* container will run\n# which we do via the `circleci` cli tool.\n\ncd cassandra-dtest\nsource ~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\n\nif [ -n '' ]; then\n export \nfi\n\necho \"***Collected DTests (j8_large_without_vnodes)***\"\nset -eo pipefail && ./run_dtests.py --only-reso [...] - run: -name: Run dtests (j8_without_vnodes) +name: Run dtests (j8_large_without_vnodes) no_output_timeout: 15m - command: "echo \"cat /tmp/split_dtest_tests_j8_large_without_vnodes_final.txt\"\ncat /tmp/split_dtest_tests_j8_large_without_vnodes_final.txt\n\nsource ~/env3.6/bin/activate\nexport PATH=$JAVA_HOME/bin:$PATH\nif [ -n '' ]; then\n export \nfi\n\njava -version\ncd ~/cassandra-dtest\nmkdir -p /tmp/dtest\n\necho \"env: $(env)\"\necho \"** done env\"\nmkdir -p /tmp/results/dtests\n# we need the \"set -o pipefail\" here so that the exit code that circleci will actually use is from py [...] -command: | - echo "cat /tmp/split_dtest_tests_j8_without_vnodes_final.txt" - cat /tmp/split_dtest_tests_j8_without_vnodes_final.txt - - source ~/env3.6/bin/activate - export PATH=$JAVA_HOME/bin:$PATH - if [ -n 'CQLSH_PYTHON=/usr/bin/python2.7' ]; then -export CQLSH_PYTHON=/usr/bin/python2.7 - fi - - java -version - cd ~/cassandra-dtest - mkdir -p /tmp/dtest - -
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. paulo pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 3d1b981d8968635660eb015292891e57d1212c2e Merge: 4dd69dc62d 475c0035e6 Author: Paulo Motta AuthorDate: Wed Jan 10 11:17:01 2024 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 Closes #2968 CHANGES.txt| 1 + src/java/org/apache/cassandra/gms/Gossiper.java| 15 --- .../schema/SystemDistributedKeyspace.java | 2 +- .../apache/cassandra/tracing/TraceKeyspace.java| 4 +- test/unit/org/apache/cassandra/Util.java | 2 +- .../org/apache/cassandra/gms/GossiperTest.java | 50 +- 6 files changed, 61 insertions(+), 13 deletions(-) diff --cc CHANGES.txt index 66144ce1e6,d944415f76..ec0e7c60d7 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,13 -1,5 +1,14 @@@ -4.0.12 +4.1.4 + * Memoize Cassandra verion and add a backoff interval for failed schema pulls (CASSANDRA-18902) + * Fix StackOverflowError on ALTER after many previous schema changes (CASSANDRA-19166) + * Fixed the inconsistency between distributedKeyspaces and distributedAndLocalKeyspaces (CASSANDRA-18747) + * Internode legacy SSL storage port certificate is not hot reloaded on update (CASSANDRA-18681) + * Nodetool paxos-only repair is no longer incremental (CASSANDRA-18466) + * Waiting indefinitely on ReceivedMessage response in StreamSession#receive() can cause deadlock (CASSANDRA-18733) + * Allow empty keystore_password in encryption_options (CASSANDRA-18778) + * Skip ColumnFamilyStore#topPartitions initialization when client or tool mode (CASSANDRA-18697) +Merged from 4.0: + * Fix Gossiper::hasMajorVersion3Nodes to return false during minor upgrade (CASSANDRA-18999) * Revert unnecessary read lock acquisition when reading ring version in TokenMetadata introduced in CASSANDRA-16286 (CASSANDRA-19107) * Support max SSTable size in sorted CQLSSTableWriter (CASSANDRA-18941) * Fix nodetool repair_admin summarize-pending command to not throw exception (CASSANDRA-19014) diff --cc src/java/org/apache/cassandra/gms/Gossiper.java index 0d5db5f81c,22595b299a..018e20542d --- a/src/java/org/apache/cassandra/gms/Gossiper.java +++ b/src/java/org/apache/cassandra/gms/Gossiper.java @@@ -1614,33 -1555,11 +1615,33 @@@ public class Gossiper implements IFailu localState.addApplicationStates(updatedStates); // get rid of legacy fields once the cluster is not in mixed mode - if (!hasMajorVersion3Nodes()) + if (!hasMajorVersion3OrUnknownNodes()) localState.removeMajorVersion3LegacyApplicationStates(); +// need to run STATUS or STATUS_WITH_PORT first to handle BOOT_REPLACE correctly (else won't be a member, so TOKENS won't be processed) +for (Entry updatedEntry : updatedStates) +{ +switch (updatedEntry.getKey()) +{ +default: +continue; +case STATUS: +if (localState.containsApplicationState(ApplicationState.STATUS_WITH_PORT)) +continue; +case STATUS_WITH_PORT: +} +doOnChangeNotifications(addr, updatedEntry.getKey(), updatedEntry.getValue()); +} + for (Entry updatedEntry : updatedStates) { +switch (updatedEntry.getKey()) +{ +// We should have alredy handled these two states above: +case STATUS_WITH_PORT: +case STATUS: +continue; +} // filters out legacy change notifications // only if local state already indicates that the peer has the new fields if ((ApplicationState.INTERNAL_IP == updatedEntry.getKey() && localState.containsApplicationState(ApplicationState.INTERNAL_ADDRESS_AND_PORT)) diff --cc src/java/org/apache/cassandra/schema/SystemDistributedKeyspace.java index dc40093d4d,00..d63bbace79 mode 100644,00..100644 --- a/src/java/org/apache/cassandra/schema/SystemDistributedKeyspace.java +++ b/src/java/org/apache/cassandra/schema/SystemDistributedKeyspace.java @@@ -1,409 -1,0 +1,409 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Lice
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. maedhroz pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 4dd69dc62db58a82391102ba7278786508078f09 Merge: 3edca0041c d5cea135c9 Author: Caleb Rackliffe AuthorDate: Tue Jan 9 14:50:31 2024 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: Revert unnecessary read lock acquisition when reading ring version in TokenMetadata introduced in CASSANDRA-16286 CHANGES.txt | 1 + src/java/org/apache/cassandra/locator/TokenMetadata.java| 13 ++--- .../org/apache/cassandra/locator/TokenMetadataTest.java | 2 +- 3 files changed, 4 insertions(+), 12 deletions(-) diff --cc CHANGES.txt index b1518e8320,0edb216735..66144ce1e6 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,13 -1,5 +1,14 @@@ -4.0.12 +4.1.4 + * Memoize Cassandra verion and add a backoff interval for failed schema pulls (CASSANDRA-18902) + * Fix StackOverflowError on ALTER after many previous schema changes (CASSANDRA-19166) + * Fixed the inconsistency between distributedKeyspaces and distributedAndLocalKeyspaces (CASSANDRA-18747) + * Internode legacy SSL storage port certificate is not hot reloaded on update (CASSANDRA-18681) + * Nodetool paxos-only repair is no longer incremental (CASSANDRA-18466) + * Waiting indefinitely on ReceivedMessage response in StreamSession#receive() can cause deadlock (CASSANDRA-18733) + * Allow empty keystore_password in encryption_options (CASSANDRA-18778) + * Skip ColumnFamilyStore#topPartitions initialization when client or tool mode (CASSANDRA-18697) +Merged from 4.0: + * Revert unnecessary read lock acquisition when reading ring version in TokenMetadata introduced in CASSANDRA-16286 (CASSANDRA-19107) * Support max SSTable size in sorted CQLSSTableWriter (CASSANDRA-18941) * Fix nodetool repair_admin summarize-pending command to not throw exception (CASSANDRA-19014) * Fix cassandra-stress in simplenative mode with prepared statements (CASSANDRA-18744) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 13e595628548e7cdf06dd666a3d839af8fad6655 Merge: 4059faf5b9 8e5fc74c9a Author: Brandon Williams AuthorDate: Wed Dec 6 06:32:48 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/dependency-check-suppressions.xml | 9 + CHANGES.txt | 1 + 2 files changed, 10 insertions(+) diff --cc CHANGES.txt index 10096d23f2,771cf1f3c0..79e8ee7a84 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -26,7 -20,9 +26,8 @@@ Merged from 3.11 * Fix delayed SSTable release with unsafe_aggressive_sstable_expiration (CASSANDRA-18756) * Revert CASSANDRA-18543 (CASSANDRA-18854) * Fix NPE when using udfContext in UDF after a restart of a node (CASSANDRA-18739) - * Moved jflex from runtime to build dependencies (CASSANDRA-18664) Merged from 3.0: + * Suppress CVE-2023-6378 (CASSANDRA-19142) * Do not set RPC_READY to false on transports shutdown in order to not fail counter updates for deployments with coordinator and storage nodes with transports turned off (CASSANDRA-18935) * Suppress CVE-2023-44487 (CASSANDRA-18943) * Fix nodetool enable/disablebinary to correctly set rpc readiness in gossip (CASSANDRA-18935) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. bereng pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 6cac24f581e9f6b719f3c0f9bc5c9df2e03c682a Merge: 5c44922a5a 3ba6de70c7 Author: Bereng AuthorDate: Mon Nov 20 07:35:51 2023 +0100 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: Test failure: org.apache.cassandra.db.commitlog.CommitLogSegmentManagerCDCTest .../cassandra/db/commitlog/CommitLogSegment.java | 2 +- .../commitlog/CommitLogSegmentManagerCDCTest.java | 54 -- 2 files changed, 30 insertions(+), 26 deletions(-) diff --cc test/unit/org/apache/cassandra/db/commitlog/CommitLogSegmentManagerCDCTest.java index 3789b51714,21962c8b7b..9ad386ecbe --- a/test/unit/org/apache/cassandra/db/commitlog/CommitLogSegmentManagerCDCTest.java +++ b/test/unit/org/apache/cassandra/db/commitlog/CommitLogSegmentManagerCDCTest.java @@@ -78,17 -94,13 +77,16 @@@ public class CommitLogSegmentManagerCDC execute("INSERT INTO %s (idx, data) VALUES (1, '1');"); // Confirm that, on flush+recyle, we see files show up in cdc_raw - Keyspace.open(keyspace()).getColumnFamilyStore(currentTable()).forceBlockingFlush(); +CommitLogSegmentManagerCDC cdcMgr = (CommitLogSegmentManagerCDC)CommitLog.instance.segmentManager; +Keyspace.open(keyspace()) +.getColumnFamilyStore(currentTable()) + .forceBlockingFlush(ColumnFamilyStore.FlushReason.UNIT_TESTS); CommitLog.instance.forceRecycleAllSegments(); cdcMgr.awaitManagementTasksCompletion(); - Assert.assertTrue("Expected files to be moved to overflow.", getCDCRawCount() > 0); + Assert.assertTrue("Expected files to be moved to overflow.", getCDCRawFiles().length > 0); // Simulate a CDC consumer reading files then deleting them - for (File f : new File(DatabaseDescriptor.getCDCLogLocation()).tryList()) - FileUtils.deleteWithConfirm(f); + deleteCDCRawFiles(); // Update size tracker to reflect deleted files. Should flip flag on current allocatingFrom to allow. cdcMgr.updateCDCTotalSize(); @@@ -336,9 -375,9 +337,9 @@@ List results = new ArrayList<>(); try { - for (File f : new File(DatabaseDescriptor.getCDCLogLocation()).tryList()) + for (File f : getCDCRawFiles()) { -if (f.getName().contains("_cdc.idx")) +if (f.name().contains("_cdc.idx")) results.add(new CDCIndexData(f)); } } @@@ -356,16 -395,13 +357,12 @@@ CDCIndexData(File f) throws IOException { - String line = ""; + String line; -try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(f +try (BufferedReader br = new BufferedReader(new FileReader(f))) { line = br.readLine(); } - catch (Exception e) - { - throw e; - } - -fileName = f.getName(); +fileName = f.name(); offset = Integer.parseInt(line); } @@@ -407,107 -440,16 +401,117 @@@ } } +private void testWithNonblockingMode(Testable test) throws Throwable +{ +boolean original = DatabaseDescriptor.getCDCBlockWrites(); +CommitLog.instance.setCDCBlockWrites(false); +try +{ +test.run(); +} +finally +{ +CommitLog.instance.setCDCBlockWrites(original); +} +} + +private void testWithCDCSpaceInMb(int size, Testable test) throws Throwable +{ +int origSize = (int) DatabaseDescriptor.getCDCTotalSpace() / 1024 / 1024; +DatabaseDescriptor.setCDCTotalSpaceInMiB(size); +try +{ +test.run(); +} +finally +{ +DatabaseDescriptor.setCDCTotalSpaceInMiB(origSize); +} +} + +private String createTableAndBulkWrite() throws Throwable +{ +return createTableAndBulkWrite(DatabaseDescriptor.getCommitLogSegmentSize() / 3); +} + +private String createTableAndBulkWrite(int mutationSize) throws Throwable +{ +String tableName = createTable("CREATE TABLE %s (idx int, data text, primary key(idx)) WITH cdc=true;"); +bulkWrite(tableName, mutationSize); +return tableName; +} + +private void bulkWrite(String tableName) throws Throwable +{ +bulkWrite(tableName, DatabaseDescriptor.getCommitLogSegmentSize() / 3); +} + +private void bulkWrite(String tableName, int mutationSize) throws Throwable
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 5c44922a5a80130b8ddc0aee7437316675522d4b Merge: afb422ddc0 a912085f5e Author: Brandon Williams AuthorDate: Mon Nov 13 14:16:49 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 bin/cqlsh.py | 4 1 file changed, 4 insertions(+) diff --cc bin/cqlsh.py index 0e00c44eab,dddbd397fa..328393eb58 --- a/bin/cqlsh.py +++ b/bin/cqlsh.py @@@ -151,13 -162,14 +151,17 @@@ from cqlshlib.displaying import (ANSI_R RED, WHITE, FormattedValue, colorme) from cqlshlib.formatting import (DEFAULT_DATE_FORMAT, DEFAULT_NANOTIME_FORMAT, DEFAULT_TIMESTAMP_FORMAT, CqlType, DateTimeFormat, - format_by_type, formatter_for) + format_by_type) from cqlshlib.tracing import print_trace, print_trace_session -from cqlshlib.util import get_file_encoding_bomsize, trim_if_present +from cqlshlib.util import get_file_encoding_bomsize +from cqlshlib.util import is_file_secure +from cqlshlib.serverversion import version as build_version + try: + from cqlshlib.serverversion import version as build_version + except ImportError: + build_version = "UNKNOWN" + DEFAULT_HOST = '127.0.0.1' DEFAULT_PORT = 9042 DEFAULT_SSL = False - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
(cassandra) 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit d5b6331d6ed28ac2280cd15025106b2bfe1d3a32 Merge: d3cc2a65b8 9697be1131 Author: Brandon Williams AuthorDate: Mon Oct 30 08:15:41 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 .../apache/cassandra/distributed/impl/RowUtil.java | 8 ++-- .../distributed/test/DistributedRowUtilTest.java | 46 ++ 2 files changed, 50 insertions(+), 4 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit d3cc2a65b892ddafb59e6b1adbc56cc230b3db7d Merge: d6bf4fd98f 2fa7c1204c Author: Brandon Williams AuthorDate: Thu Oct 26 06:05:42 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/dependency-check-suppressions.xml | 1 + CHANGES.txt | 1 + 2 files changed, 2 insertions(+) diff --cc CHANGES.txt index 98d47bb1f9,66ac892da7..0213c08aa6 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -19,7 -13,9 +19,8 @@@ Merged from 3.11 * Fix delayed SSTable release with unsafe_aggressive_sstable_expiration (CASSANDRA-18756) * Revert CASSANDRA-18543 (CASSANDRA-18854) * Fix NPE when using udfContext in UDF after a restart of a node (CASSANDRA-18739) - * Moved jflex from runtime to build dependencies (CASSANDRA-18664) Merged from 3.0: + * Suppress CVE-2023-44487 (CASSANDRA-18943) * Fix nodetool enable/disablebinary to correctly set rpc readiness in gossip (CASSANDRA-18935) * Implement the logic in bin/stop-server (CASSANDRA-18838) * Upgrade snappy-java to 1.1.10.4 (CASSANDRA-18878) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. dcapwell pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 1920571861ac2fe953229d171c2e8414788d6ab0 Merge: e562d6a3a9 2bab3f27ba Author: David Capwell AuthorDate: Tue Oct 10 14:05:19 2023 -0700 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../org/apache/cassandra/gms/EndpointState.java| 5 + src/java/org/apache/cassandra/gms/Gossiper.java| 2 +- .../test/gossip/GossipShutdownTest.java| 106 + 4 files changed, 113 insertions(+), 1 deletion(-) diff --cc CHANGES.txt index a8a5ddeaeb,f0d59c2abf..c5f2a1b92c --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,10 -1,6 +1,11 @@@ -4.0.12 +4.1.4 + * Internode legacy SSL storage port certificate is not hot reloaded on update (CASSANDRA-18681) + * Nodetool paxos-only repair is no longer incremental (CASSANDRA-18466) + * Waiting indefinitely on ReceivedMessage response in StreamSession#receive() can cause deadlock (CASSANDRA-18733) + * Allow empty keystore_password in encryption_options (CASSANDRA-18778) + * Skip ColumnFamilyStore#topPartitions initialization when client or tool mode (CASSANDRA-18697) +Merged from 4.0: + * Gossip NPE due to shutdown event corrupting empty statuses (CASSANDRA-18913) - * Synchronize CQLSSTableWriter#build on the Schema.instance object (CASSANDRA-18317) * Fix closing iterator in SecondaryIndexBuilder (CASSANDRA-18361) * Update hdrhistogram to 2.1.12 (CASSANDRA-18893) * Improve performance of compactions when table does not have an index (CASSANDRA-18773) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. bereng pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit b5bfd1e314139ff3f271f495934a292fa0e4e195 Merge: 29c3136763 9ccec3dc8c Author: Bereng AuthorDate: Thu Oct 5 09:23:41 2023 +0200 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: Test failure: junit.framework.TestSuite.org.apache.cassandra.distributed.test.CASMultiDCTest .../cassandra/distributed/impl/AbstractCluster.java | 17 +++-- 1 file changed, 15 insertions(+), 2 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. blambov pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit db6641fbb6fd0c439e14f94caecdeee999311c62 Merge: 1acab45e4f c6385ac3dd Author: Branimir Lambov AuthorDate: Thu Sep 21 16:03:41 2023 +0300 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../db/compaction/CompactionController.java| 12 +- .../db/compaction/CompactionControllerTest.java| 140 + 3 files changed, 146 insertions(+), 7 deletions(-) diff --cc CHANGES.txt index bae7f3c6d8,6c4e0ef6b0..bb5cc728c9 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -9,8 -4,10 +9,9 @@@ Merged from 4.0 * Fix BulkLoader ignoring cipher suites options (CASSANDRA-18582) * Migrate Python optparse to argparse (CASSANDRA-17914) Merged from 3.11: + * Fix delayed SSTable release with unsafe_aggressive_sstable_expiration (CASSANDRA-18756) * Revert CASSANDRA-18543 (CASSANDRA-18854) * Fix NPE when using udfContext in UDF after a restart of a node (CASSANDRA-18739) - * Moved jflex from runtime to build dependencies (CASSANDRA-18664) Merged from 3.0: * Add cqlshrc.sample and credentials.sample into Debian package (CASSANDRA-18818) * Refactor validation logic in StorageService.rebuild (CASSANDRA-18803) diff --cc test/unit/org/apache/cassandra/db/compaction/CompactionControllerTest.java index 9d81b61ed3,86546bb9f6..d1a8d01b92 --- a/test/unit/org/apache/cassandra/db/compaction/CompactionControllerTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/CompactionControllerTest.java @@@ -182,6 -199,124 +199,124 @@@ public class CompactionControllerTest e assertEquals(1, expired.size()); } + @Test + @BMRules(rules = { + @BMRule(name = "Pause compaction", + targetClass = "CompactionTask", + targetMethod = "runMayThrow", + targetLocation = "INVOKE getCompactionAwareWriter", + condition = "Thread.currentThread().getName().equals(\"compaction1\")", + action = "org.apache.cassandra.db.compaction.CompactionControllerTest.createCompactionControllerLatch.countDown();" + + "com.google.common.util.concurrent.Uninterruptibles.awaitUninterruptibly" + + "(org.apache.cassandra.db.compaction.CompactionControllerTest.compaction2FinishLatch);"), + @BMRule(name = "Check overlaps", + targetClass = "CompactionTask", + targetMethod = "runMayThrow", + targetLocation = "INVOKE finish", + condition = "Thread.currentThread().getName().equals(\"compaction1\")", + action = "org.apache.cassandra.db.compaction.CompactionControllerTest.compaction1RefreshLatch.countDown();" + + "com.google.common.util.concurrent.Uninterruptibles.awaitUninterruptibly" + + "(org.apache.cassandra.db.compaction.CompactionControllerTest.refreshCheckLatch);"), + @BMRule(name = "Increment overlap refresh counter", + targetClass = "ColumnFamilyStore", + targetMethod = "getAndReferenceOverlappingLiveSSTables", + condition = "Thread.currentThread().getName().equals(\"compaction1\")", + action = "org.apache.cassandra.db.compaction.CompactionControllerTest.incrementOverlapRefreshCounter();") + }) + public void testIgnoreOverlaps() throws Exception + { + testOverlapIterator(true); + overlapRefreshCounter = 0; + compaction2FinishLatch = new CountDownLatch(1); + createCompactionControllerLatch = new CountDownLatch(1); + compaction1RefreshLatch = new CountDownLatch(1); + refreshCheckLatch = new CountDownLatch(1); + testOverlapIterator(false); + } + + public void testOverlapIterator(boolean ignoreOverlaps) throws Exception + { + + Keyspace keyspace = Keyspace.open(KEYSPACE); + ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(CF1); + cfs.truncateBlocking(); + cfs.disableAutoCompaction(); + + //create 2 overlapping sstables + DecoratedKey key = Util.dk("k1"); + long timestamp1 = FBUtilities.timestampMicros(); + long timestamp2 = timestamp1 - 5; + applyMutation(cfs.metadata(), key, timestamp1); -cfs.forceBlockingFlush(); ++cfs.forceBlockingFlush(ColumnFamilyStore.FlushReason.UNIT_TESTS); + assertEquals(cfs.getLiveSSTables().size(), 1); + Set sstables = cfs.getLiveSSTables(); + + applyMutation(cfs.metadata(), key, timestamp2); -cfs.forceBlockingFlush(); ++cfs.forceBlockingFlush(ColumnFamilyStore.FlushReason.UNIT_TESTS); + assertEquals(cfs.getLiveSSTables().size(), 2); + String sstable2 = cfs.getLiveSSTables().iterator().next().getFilename(); + + System.setProperty(TimeWindowCompactionStrategyOptions.UNSAFE_AGGRESSIVE_SSTABLE_EXPIRATION_PROPERTY, "true"); + Map options = new HashMap<>(); +
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit b8209a06fbad6d5dda239f06ea889a4a89427296 Merge: 3d220b5a6e edde699a06 Author: Brandon Williams AuthorDate: Fri Sep 15 12:25:40 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt | 1 + src/java/org/apache/cassandra/gms/Gossiper.java | 47 ++--- 2 files changed, 4 insertions(+), 44 deletions(-) diff --cc CHANGES.txt index 8bb36cc504,62c49d6fd0..2134d0b77b --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -8,7 -3,9 +8,8 @@@ Merged from 4.0 * Fix BulkLoader ignoring cipher suites options (CASSANDRA-18582) * Migrate Python optparse to argparse (CASSANDRA-17914) Merged from 3.11: + * Revert CASSANDRA-18543 (CASSANDRA-18854) * Fix NPE when using udfContext in UDF after a restart of a node (CASSANDRA-18739) - * Moved jflex from runtime to build dependencies (CASSANDRA-18664) Merged from 3.0: * Add cqlshrc.sample and credentials.sample into Debian package (CASSANDRA-18818) * Refactor validation logic in StorageService.rebuild (CASSANDRA-18803) diff --cc src/java/org/apache/cassandra/gms/Gossiper.java index 854da29acb,2b3c48ed77..4a32662dcf --- a/src/java/org/apache/cassandra/gms/Gossiper.java +++ b/src/java/org/apache/cassandra/gms/Gossiper.java @@@ -42,12 -35,11 +42,11 @@@ import com.google.common.collect.Immuta import com.google.common.collect.Iterables; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; -import com.google.common.util.concurrent.ListenableFutureTask; import com.google.common.util.concurrent.Uninterruptibles; -import org.apache.cassandra.concurrent.JMXEnabledSingleThreadExecutor; +import org.apache.cassandra.concurrent.*; +import org.apache.cassandra.concurrent.FutureTask; import org.apache.cassandra.config.CassandraRelevantProperties; - import org.apache.cassandra.exceptions.RequestFailureReason; import org.apache.cassandra.locator.InetAddressAndPort; import org.apache.cassandra.net.NoPayload; import org.apache.cassandra.net.Verb; @@@ -660,11 -633,7 +656,10 @@@ public class Gossiper implements IFailu logger.warn("Seeds list is now empty!"); } +if (disableEndpointRemoval) +return; + liveEndpoints.remove(endpoint); - inflightEcho.remove(endpoint); unreachableEndpoints.remove(endpoint); MessagingService.instance().versions.reset(endpoint); quarantineEndpoint(endpoint); @@@ -1429,12 -1335,8 +1392,11 @@@ private void silentlyMarkDead(InetAddressAndPort addr, EndpointState localState) { localState.markDead(); -liveEndpoints.remove(addr); -unreachableEndpoints.put(addr, System.nanoTime()); +if (!disableEndpointRemoval) +{ +liveEndpoints.remove(addr); - inflightEcho.remove(addr); +unreachableEndpoints.put(addr, nanoTime()); +} } /** - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 3d220b5a6e2528b7b9f89074fe48dc6556977dc1 Merge: b053027680 b2093ef321 Author: Brandon Williams AuthorDate: Tue Sep 12 06:12:47 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 test/unit/org/apache/cassandra/cql3/CQLTester.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --cc test/unit/org/apache/cassandra/cql3/CQLTester.java index eb7c39d6d6,dc2f334c08..9f01746393 --- a/test/unit/org/apache/cassandra/cql3/CQLTester.java +++ b/test/unit/org/apache/cassandra/cql3/CQLTester.java @@@ -145,13 -119,11 +145,13 @@@ public abstract class CQLTeste protected static int jmxPort; protected static MBeanServerConnection jmxConnection; - protected static final int nativePort; + protected static int nativePort; protected static final InetAddress nativeAddr; protected static final Set remoteAddrs = new HashSet<>(); -private static final Map clusters = new HashMap<>(); -protected static final Map sessions = new HashMap<>(); +private static final Map, Cluster> clusters = new HashMap<>(); +private static final Map, Session> sessions = new HashMap<>(); + +private static Consumer clusterBuilderConfigurator; public static final List PROTOCOL_VERSIONS = new ArrayList<>(ProtocolVersion.SUPPORTED.size()); @@@ -558,53 -469,56 +557,54 @@@ clusters.clear(); sessions.clear(); -initializeNetwork(server -> {}, clusterConfigurator); +clusterBuilderConfigurator = clusterConfigurator; + +startServer(serverConfigurator); } -private static void initializeNetwork(Consumer decorator, Consumer clusterConfigurator) +private static void startServer(Consumer decorator) { -startServer(decorator); ++nativePort = getAutomaticallyAllocatedPort(nativeAddr); +Server.Builder serverBuilder = new Server.Builder().withHost(nativeAddr).withPort(nativePort); +decorator.accept(serverBuilder); +server = serverBuilder.build(); +ClientMetrics.instance.init(Collections.singleton(server)); +server.start(); +} -for (ProtocolVersion version : PROTOCOL_VERSIONS) -{ -if (clusters.containsKey(version)) -continue; +private static Cluster initClientCluster(User user, ProtocolVersion version) +{ +SocketOptions socketOptions = +new SocketOptions().setConnectTimeoutMillis(Integer.getInteger("cassandra.test.driver.connection_timeout_ms", + DEFAULT_CONNECT_TIMEOUT_MILLIS)) // default is 5000 + .setReadTimeoutMillis(Integer.getInteger("cassandra.test.driver.read_timeout_ms", + DEFAULT_READ_TIMEOUT_MILLIS)); // default is 12000 -SocketOptions socketOptions = new SocketOptions() - .setConnectTimeoutMillis(Integer.getInteger("cassandra.test.driver.connection_timeout_ms", DEFAULT_CONNECT_TIMEOUT_MILLIS)) // default is 5000 - .setReadTimeoutMillis(Integer.getInteger("cassandra.test.driver.read_timeout_ms", DEFAULT_READ_TIMEOUT_MILLIS)); // default is 12000 +logger.info("Timeouts: {} / {}", socketOptions.getConnectTimeoutMillis(), socketOptions.getReadTimeoutMillis()); -logger.info("Timeouts: {} / {}", socketOptions.getConnectTimeoutMillis(), socketOptions.getReadTimeoutMillis()); +Cluster.Builder builder = Cluster.builder() + .withoutJMXReporting() + .addContactPoints(nativeAddr) + .withClusterName("Test Cluster") + .withPort(nativePort) + .withSocketOptions(socketOptions) + .withNettyOptions(IMMEDIATE_CONNECTION_SHUTDOWN_NETTY_OPTIONS); -Cluster.Builder builder = Cluster.builder() - .withoutJMXReporting() - .addContactPoints(nativeAddr) - .withClusterName("Test Cluster") - .withPort(nativePort) - .withSocketOptions(socketOptions) - .withNettyOptions(IMMEDIATE_CONNECTION_SHUTDOWN_NETTY_OPTIONS); +if (user != null) +builder.withCredentials(user.username, user.password); -
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 20125c5053586ab46fa341ac71cc525b64932873 Merge: d4cb791bdd aa2494b30b Author: Mick Semb Wever AuthorDate: Thu Aug 31 22:41:26 2023 +0200 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: Missing license info and headers .build/build-rat.xml | 101 +++-- .jenkins/Jenkinsfile | 13 ++- LICENSE.txt| 18 +++- build.properties.default | 19 conf/cassandra-jaas.config | 16 conf/jvm-clients.options | 18 conf/jvm-server.options| 18 conf/jvm11-clients.options | 18 conf/jvm11-server.options | 18 conf/jvm8-clients.options | 18 conf/jvm8-server.options | 18 debian/cassandra.conf | 17 debian/cassandra.postinst | 19 debian/default | 18 debian/init| 18 debian/nodetool-completion | 17 debian/rules | 19 +++- eclipse_compiler.properties| 17 pylib/Dockerfile.ubuntu.py3| 16 pylib/Dockerfile.ubuntu.py37 | 11 +++ pylib/Dockerfile.ubuntu.py38 | 11 +++ pylib/requirements.txt | 19 redhat/cassandra | 17 redhat/cassandra.conf | 17 redhat/default | 17 .../cassandra/cql3/functions/JavaSourceUDF.txt | 17 test/conf/harry-generic.yaml | 17 test/data/config/version=3.0.0-alpha1.yml | 17 test/data/config/version=3.11.0.yml| 17 test/data/config/version=4.0-alpha1.yml| 17 30 files changed, 533 insertions(+), 60 deletions(-) diff --cc .build/build-rat.xml index 49d20ccb75,09c7fd2041..69525d4a44 --- a/.build/build-rat.xml +++ b/.build/build-rat.xml @@@ -51,44 -41,55 +41,57 @@@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + ++ + + ++ + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --cc pylib/requirements.txt index c030460b3f,ebd5937bc0..a05a4afbed --- a/pylib/requirements.txt +++ b/pylib/requirements.txt @@@ -1,3 -1,25 +1,22 @@@ + # Licensed to the Apache Software Foundation (ASF) under one + # or more contributor license agreements. See the NOTICE file + # distributed with this work for additional information + # regarding copyright ownership. The ASF licenses this file + # to you under the Apache License, Version 2.0 (the + # "License"); you may not use this file except in compliance + # with the License. You may obtain a copy of the License at + # + #
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. jonmeredith pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 251ae80bb0f27ebca0b88c43d944b55dd7c34201 Merge: 5e2985f10e 6ffa43f68b Author: Jon Meredith AuthorDate: Mon Aug 28 15:29:30 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 .../distributed/impl/AbstractCluster.java | 31 +++- .../distributed/impl/INodeProvisionStrategy.java | 89 ++ .../cassandra/distributed/impl/InstanceConfig.java | 2 +- .../distributed/test/jmx/JMXFeatureTest.java | 3 +- .../unit/org/apache/cassandra/net/SocketUtils.java | 57 -- 5 files changed, 139 insertions(+), 43 deletions(-) diff --cc test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java index 47371772b9,f57f2b76e2..c709cde82c --- a/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java @@@ -183,7 -164,7 +184,8 @@@ public abstract class AbstractCluster< extends org.apache.cassandra.distributed.shared.AbstractBuilder { private INodeProvisionStrategy.Strategy nodeProvisionStrategy = INodeProvisionStrategy.Strategy.MultipleNetworkInterfaces; +private ShutdownExecutor shutdownExecutor = DEFAULT_SHUTDOWN_EXECUTOR; + private boolean dynamicPortAllocation = false; { // Indicate that we are running in the in-jvm dtest environment @@@ -196,51 -177,35 +198,73 @@@ public AbstractBuilder(Factory factory) { super(factory); +withSharedClasses(SHARED_PREDICATE); } + @SuppressWarnings("unchecked") + private B self() + { + return (B) this; + } + public B withNodeProvisionStrategy(INodeProvisionStrategy.Strategy nodeProvisionStrategy) { this.nodeProvisionStrategy = nodeProvisionStrategy; - return (B) this; + return self(); } +public B withShutdownExecutor(ShutdownExecutor shutdownExecutor) +{ +this.shutdownExecutor = shutdownExecutor; - return (B) this; ++return self(); ++} ++ + /** + * When {@code dynamicPortAllocation} is {@code true}, it will ask {@link INodeProvisionStrategy} to provision + * available storage, native and JMX ports in the given interface. When {@code dynamicPortAllocation} is + * {@code false} (the default behavior), it will use statically allocated ports based on the number of + * interfaces available and the node number. + * + * @param dynamicPortAllocation {@code true} for dynamic port allocation, {@code false} for static port + * allocation + * @return a reference to this Builder + */ + public B withDynamicPortAllocation(boolean dynamicPortAllocation) + { + this.dynamicPortAllocation = dynamicPortAllocation; + return self(); } + +@Override +public C createWithoutStarting() throws IOException +{ +// if running as vnode but test sets withoutVNodes(), then skip the test +// AbstractCluster.createInstanceConfig has similar logic, but handles the cases where the test +// attempts to control tokens via config +// when token supplier is defined, use getTokenCount() to see if vnodes is supported or not +if (isVnode()) +{ +Assume.assumeTrue("vnode is not supported", isVNodeAllowed()); +// if token count > 1 and isVnode, then good +Assume.assumeTrue("no-vnode is requested but not supported", getTokenCount() > 1); +} +else +{ +Assume.assumeTrue("single-token is not supported", isSingleTokenAllowed()); +// if token count == 1 and isVnode == false, then goodAbstractClusterTest +Assume.assumeTrue("vnode is requested but not supported", getTokenCount() == 1); +} + +return super.createWithoutStarting(); +} + +private boolean isVnode() +{ +TokenSupplier ts = getTokenSupplier(); +return ts == null + ? getTokenCount() > 1 // token supplier wasn't defined yet, so rely on getTokenCount() + : ts.tokens(1).size() > 1; // token supplier is defined... check the first instance to see what tokens are used +} } protected class Wrapper extends DelegatingInvokableInstance implements IUpgradeableInstance @@@ -536,9 -430,11 +560,10 @@@ this.instanceMap = new ConcurrentHashMap<>();
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. jonmeredith pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit ac3b356063d38833214608c873f25ad0a27ea16e Merge: 8666265521 4034fbb6dd Author: Jon Meredith AuthorDate: Thu Aug 24 16:38:53 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 build.xml | 5 +- .../utils/RMIClientSocketFactoryImpl.java | 21 +- .../apache/cassandra/utils/ReflectionUtils.java| 43 +++ .../cassandra/distributed/impl/Instance.java | 5 +- .../cassandra/distributed/impl/IsolatedJmx.java| 87 +- .../cassandra/distributed/shared/ClusterUtils.java | 34 +++-- .../distributed/test/ResourceLeakTest.java | 52 +++-- .../distributed/test/jmx/JMXFeatureTest.java | 86 ++--- .../distributed/test/jmx/JMXGetterCheckTest.java | 46 +--- 9 files changed, 259 insertions(+), 120 deletions(-) diff --cc build.xml index 3593d4bd70,5812360e27..8d9b8f5516 --- a/build.xml +++ b/build.xml @@@ -153,8 -146,6 +153,8 @@@ - ++ + diff --cc src/java/org/apache/cassandra/utils/RMIClientSocketFactoryImpl.java index 62ab88fb92,81e728eeb9..5caa92cce4 --- a/src/java/org/apache/cassandra/utils/RMIClientSocketFactoryImpl.java +++ b/src/java/org/apache/cassandra/utils/RMIClientSocketFactoryImpl.java @@@ -42,7 -45,24 +45,23 @@@ public class RMIClientSocketFactoryImp @Override public Socket createSocket(String host, int port) throws IOException { - return new Socket(localAddress, port); + Socket socket = new Socket(localAddress, port); + sockets.add(socket); + return socket; + } + + public void close() throws IOException + { -for (Socket socket: sockets) -{ ++for (Socket socket: sockets) { + try + { + socket.close(); + } + catch (IOException ignored) + { + // intentionally ignored + } + } } @Override diff --cc src/java/org/apache/cassandra/utils/ReflectionUtils.java index bd605db3bc,e2280e66b0..07802267f1 --- a/src/java/org/apache/cassandra/utils/ReflectionUtils.java +++ b/src/java/org/apache/cassandra/utils/ReflectionUtils.java @@@ -20,8 -20,12 +20,11 @@@ package org.apache.cassandra.utils import java.lang.reflect.Field; import java.lang.reflect.Method; + import java.util.Iterator; + import java.util.Map; + import java.util.function.Predicate; -public class ReflectionUtils -{ +public class ReflectionUtils { public static Field getField(Class clazz, String fieldName) throws NoSuchFieldException { // below code works before Java 12 diff --cc test/distributed/org/apache/cassandra/distributed/impl/Instance.java index 9975aeb9eb,39f5e980af..4b4276774b --- a/test/distributed/org/apache/cassandra/distributed/impl/Instance.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/Instance.java @@@ -755,9 -641,9 +755,9 @@@ public class Instance extends IsolatedE initialized = true; } - private void startJmx() + private synchronized void startJmx() { -isolatedJmx = new IsolatedJmx(this, inInstancelogger); +this.isolatedJmx = new IsolatedJmx(this, inInstancelogger); isolatedJmx.startJmx(); } diff --cc test/distributed/org/apache/cassandra/distributed/test/ResourceLeakTest.java index 794873feea,f318a1b0e0..7e4581c99c --- a/test/distributed/org/apache/cassandra/distributed/test/ResourceLeakTest.java +++ b/test/distributed/org/apache/cassandra/distributed/test/ResourceLeakTest.java @@@ -47,7 -48,7 +47,8 @@@ import static org.apache.cassandra.dist import static org.apache.cassandra.distributed.api.Feature.JMX; import static org.apache.cassandra.distributed.api.Feature.NATIVE_PROTOCOL; import static org.apache.cassandra.distributed.api.Feature.NETWORK; + import static org.apache.cassandra.distributed.test.jmx.JMXGetterCheckTest.testAllValidGetters; +import static org.apache.cassandra.utils.FBUtilities.now; import static org.hamcrest.Matchers.startsWith; /* Resource Leak Test - useful when tracking down issues with in-JVM framework cleanup. diff --cc test/distributed/org/apache/cassandra/distributed/test/jmx/JMXFeatureTest.java index 83a35e594d,ea1efa8902..a1576d6e36 --- a/test/distributed/org/apache/cassandra/distributed/test/jmx/JMXFeatureTest.java +++ b/test/distributed/org/apache/cassandra/distributed/test/jmx/JMXFeatureTest.java @@@ -18,9 -18,8 +18,9 @@@ package org.apache.cassandra.distributed.test.jmx; - import java.io.IOException; import java.util.HashSet; import java.util.Set; ++ import javax.management.MBeanServerConnection; import javax.management.remote.JMXConnector;
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit a2af87de8a05af387442344cac87c50a46ba6dd8 Merge: 2aef55b2a0 bf9d334f54 Author: Brandon Williams AuthorDate: Fri Aug 18 13:57:28 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 bin/cqlsh.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --cc bin/cqlsh.py index ca381a904f,f717807e41..ddaaf78fd4 --- a/bin/cqlsh.py +++ b/bin/cqlsh.py @@@ -546,11 -541,20 +546,11 @@@ class Shell(cmd.Cmd) if extra: baseversion = baseversion[0:extra] if baseversion != build_version: - print("WARNING: cqlsh was built against {}, but this server is {}. All features may not work!".format(baseversion, build_version)) + print("WARNING: cqlsh was built against {}, but this server is {}. All features may not work!".format(build_version, baseversion)) @property -def is_using_utf8(self): -# utf8 encodings from https://docs.python.org/{2,3}/library/codecs.html -return self.encoding.replace('-', '_').lower() in ['utf', 'utf_8', 'u8', 'utf8', CP65001] - -def check_windows_encoding(self): -if is_win and os.name == 'nt' and self.tty and \ - self.is_using_utf8 and sys.stdout.encoding != CP65001: -self.printerr("\nWARNING: console codepage must be set to cp65001 " - "to support {} encoding on Windows platforms.\n" - "If you experience encoding problems, change your console" - " codepage with 'chcp 65001' before starting cqlsh.\n".format(self.encoding)) +def batch_mode(self): +return not self.tty def set_expanded_cql_version(self, ver): ver, vertuple = full_cql_version(ver) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit e231dd5b832abc58334546869e870cd34b4a4da0 Merge: f4ee77ceba ed4e6c4e21 Author: Brandon Williams AuthorDate: Fri Aug 18 10:41:37 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 .gitignore | 1 + 1 file changed, 1 insertion(+) diff --cc .gitignore index 916ab0de99,72d8b93167..044a47c44b --- a/.gitignore +++ b/.gitignore @@@ -13,9 -13,8 +13,10 @@@ doc/cql3/CQL.htm doc/build/ lib/ pylib/src/ +**/cqlshlib.xml + pylib/cqlshlib/serverversion.py !lib/cassandra-driver-internal-only-*.zip +!lib/puresasl-*.zip # C* debs build-stamp - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit f4ee77ceba8042b71e48c830380899f21b096d71 Merge: cd3e564fb2 ba50ec9cd9 Author: Brandon Williams AuthorDate: Fri Aug 18 10:11:12 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/build-cqlsh.xml | 24 CHANGES.txt| 1 + bin/cqlsh.py | 11 +++ build.xml | 3 ++- 4 files changed, 38 insertions(+), 1 deletion(-) diff --cc CHANGES.txt index e7b058cfa2,a96137164e..ecb58c25ca --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -5,7 -3,10 +5,8 @@@ Merged from 4.0 * Fix BulkLoader ignoring cipher suites options (CASSANDRA-18582) * Migrate Python optparse to argparse (CASSANDRA-17914) Merged from 3.11: - * Moved jflex from runtime to build dependencies (CASSANDRA-18664) Merged from 3.0: -3.0.30 + * CQLSH emits a warning when the server version doesn't match (CASSANDRA-18745) * Fix missing speculative retries in tablestats (CASSANDRA-18767) * Fix Requires for Java for RPM package (CASSANDRA-18751) * Fix CQLSH online help topic link (CASSANDRA-17534) diff --cc bin/cqlsh.py index 0a656c2d32,4ca4469604..ca381a904f --- a/bin/cqlsh.py +++ b/bin/cqlsh.py @@@ -151,12 -162,11 +151,13 @@@ from cqlshlib.displaying import (ANSI_R RED, WHITE, FormattedValue, colorme) from cqlshlib.formatting import (DEFAULT_DATE_FORMAT, DEFAULT_NANOTIME_FORMAT, DEFAULT_TIMESTAMP_FORMAT, CqlType, DateTimeFormat, - format_by_type, formatter_for) + format_by_type) from cqlshlib.tracing import print_trace, print_trace_session -from cqlshlib.util import get_file_encoding_bomsize, trim_if_present +from cqlshlib.util import get_file_encoding_bomsize +from cqlshlib.util import is_file_secure + from cqlshlib.serverversion import version as build_version + DEFAULT_HOST = '127.0.0.1' DEFAULT_PORT = 9042 DEFAULT_SSL = False @@@ -521,8 -512,11 +522,10 @@@ class Shell(cmd.Cmd) if stdin is None: stdin = sys.stdin + self.check_build_versions() + if tty: self.reset_prompt() -self.maybe_warn_py2() self.report_connection() print('Use HELP for help.') else: @@@ -537,9 -531,30 +540,17 @@@ self.single_statement = single_statement self.is_subshell = is_subshell -@property -def batch_mode(self): -return not self.tty - + def check_build_versions(self): + baseversion = self.connection_versions['build'] + extra = baseversion.rfind('-') + if extra: + baseversion = baseversion[0:extra] + if baseversion != build_version: + print("WARNING: cqlsh was built against {}, but this server is {}. All features may not work!".format(baseversion, build_version)) + @property -def is_using_utf8(self): -# utf8 encodings from https://docs.python.org/{2,3}/library/codecs.html -return self.encoding.replace('-', '_').lower() in ['utf', 'utf_8', 'u8', 'utf8', CP65001] - -def check_windows_encoding(self): -if is_win and os.name == 'nt' and self.tty and \ - self.is_using_utf8 and sys.stdout.encoding != CP65001: -self.printerr("\nWARNING: console codepage must be set to cp65001 " - "to support {} encoding on Windows platforms.\n" - "If you experience encoding problems, change your console" - " codepage with 'chcp 65001' before starting cqlsh.\n".format(self.encoding)) +def batch_mode(self): +return not self.tty def set_expanded_cql_version(self, ver): ver, vertuple = full_cql_version(ver) diff --cc build.xml index f99fe469f4,0b914175bb..3593d4bd70 --- a/build.xml +++ b/build.xml @@@ -2403,7 -2220,8 +2403,8 @@@ - - - - + + + ++ - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit cd3e564fb2e801466e6576d5acdbb3790c1f5313 Merge: 0d6d8a84d8 fb395c6b8b Author: Brandon Williams AuthorDate: Fri Aug 18 05:11:33 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt | 1 + .../org/apache/cassandra/tools/nodetool/stats/StatsTable.java | 1 + .../apache/cassandra/tools/nodetool/stats/TableStatsHolder.java | 2 ++ .../apache/cassandra/tools/nodetool/stats/TableStatsPrinter.java | 1 + .../cassandra/tools/nodetool/stats/TableStatsPrinterTest.java | 8 .../apache/cassandra/tools/nodetool/stats/TableStatsTestBase.java | 1 + 6 files changed, 14 insertions(+) diff --cc CHANGES.txt index 221701a12d,90f8f99dfe..e7b058cfa2 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -5,7 -3,9 +5,8 @@@ Merged from 4.0 * Fix BulkLoader ignoring cipher suites options (CASSANDRA-18582) * Migrate Python optparse to argparse (CASSANDRA-17914) Merged from 3.11: - * Moved jflex from runtime to build dependencies (CASSANDRA-18664) Merged from 3.0: + * Fix missing speculative retries in tablestats (CASSANDRA-18767) * Fix Requires for Java for RPM package (CASSANDRA-18751) * Fix CQLSH online help topic link (CASSANDRA-17534) * Remove unused suppressions (CASSANDRA-18724) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit d850cd7372c963bd7633b3ea900d1957aa320c7a Merge: b94436c783 7ec9b7cf4f Author: Brandon Williams AuthorDate: Tue Aug 8 10:11:26 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/dependency-check-suppressions.xml | 37 CHANGES.txt | 1 + 2 files changed, 1 insertion(+), 37 deletions(-) diff --cc CHANGES.txt index 6bb86a057a,62b70b072f..0f33ba0e2e --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -5,12 -3,12 +5,13 @@@ Merged from 4.0 * Fix BulkLoader ignoring cipher suites options (CASSANDRA-18582) * Migrate Python optparse to argparse (CASSANDRA-17914) Merged from 3.11: - * Moved jflex from runtime to build dependencies (CASSANDRA-18664) Merged from 3.0: + * Remove unused suppressions (CASSANDRA-18724) -4.0.11 +4.1.3 + * Add a virtual table that exposes currently running queries (CASSANDRA-15241) +Merged from 4.0: * Revert CASSANDRA-16718 (CASSANDRA-18560) * Upgrade snappy to 1.1.10.1 (CASSANDRA-18608) * Fix assertion error when describing mv as table (CASSANDRA-18596) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 2f0adfac2b424519c13b119be05583e004157d36 Merge: 9c796dfb27 8b331ddb4d Author: Brandon Williams AuthorDate: Wed Aug 2 10:44:36 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --cc CHANGES.txt index 5ce92be10e,a45b6dce5d..6bb86a057a --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,6 -1,5 +1,7 @@@ -4.0.12 +4.1.4 + * Skip ColumnFamilyStore#topPartitions initialization when client or tool mode (CASSANDRA-18697) +Merged from 4.0: + * Fix NTS log message when an unrecognized strategy option is passed (CASSANDRA-18679) * Fix BulkLoader ignoring cipher suites options (CASSANDRA-18582) * Migrate Python optparse to argparse (CASSANDRA-17914) Merged from 3.11: diff --cc src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java index 1d39bbe37f,75aade85af..56bb261781 --- a/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java +++ b/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java @@@ -315,15 -301,7 +314,16 @@@ public class NetworkTopologyStrategy ex // Validate the data center names super.validateExpectedOptions(); + +if (keyspaceName.equalsIgnoreCase(SchemaConstants.AUTH_KEYSPACE_NAME)) +{ +Set differenceSet = Sets.difference((Set) recognizedOptions(), configOptions.keySet()); +if (!differenceSet.isEmpty()) +{ +throw new ConfigurationException("Following datacenters have active nodes and must be present in replication options for keyspace " + SchemaConstants.AUTH_KEYSPACE_NAME + ": " + differenceSet.toString()); +} +} + logger.info("Configured datacenter replicas are {}", FBUtilities.toString(datacenters)); } @Override - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 7524ed5bfec7fbddb64d1617e81eb90ac368e2de Merge: 2af60dced2 a7bf85c4f3 Author: Brandon Williams AuthorDate: Mon Jul 17 11:31:28 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 build.xml | 3 +++ 1 file changed, 3 insertions(+) diff --cc build.xml index b0bc54f804,f9ee2a782d..d2d5974cd6 --- a/build.xml +++ b/build.xml @@@ -2124,6 -1967,8 +2124,9 @@@ - + ++ ++ - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 461987627b59b34e3443469132fefaea487ecf1e Merge: 2b2732450c 6fa548f9e9 Author: Brandon Williams AuthorDate: Mon Jul 10 10:05:21 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt | 1 + src/java/org/apache/cassandra/gms/EndpointState.java| 5 - src/java/org/apache/cassandra/gms/Gossiper.java | 17 - .../cassandra/locator/ReconnectableSnitchHelper.java| 8 ++-- src/java/org/apache/cassandra/net/MessagingService.java | 7 --- .../cassandra/net/OutboundConnectionSettings.java | 4 ++-- 6 files changed, 5 insertions(+), 37 deletions(-) diff --cc CHANGES.txt index ca43e3f2ff,c151e9dc78..eaf53682b8 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,6 -1,5 +1,7 @@@ -4.0.11 +4.1.3 + * Add a virtual table that exposes currently running queries (CASSANDRA-15241) +Merged from 4.0: + * Revert CASSANDRA-16718 (CASSANDRA-18560) * Upgrade snappy to 1.1.10.1 (CASSANDRA-18608) * Fix assertion error when describing mv as table (CASSANDRA-18596) * Track the amount of read data per row (CASSANDRA-18513) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 2b2732450c9c2831db7eb745ce2dad42e63b8398 Merge: 78ad91313f 309e9b1295 Author: Brandon Williams AuthorDate: Fri Jul 7 10:48:05 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/build-owasp.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 78ad91313fa511b95a31a698592af91561ab1133 Merge: cc09dd3e2b c10c7375c1 Author: Brandon Williams AuthorDate: Thu Jul 6 10:07:23 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/dependency-check-suppressions.xml | 1 + CHANGES.txt | 1 + 2 files changed, 2 insertions(+) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit cc09dd3e2be607a5e4c8c0df3e0e87bb56bd96eb Merge: 4a9fafb310 822589e382 Author: Brandon Williams AuthorDate: Thu Jul 6 09:51:30 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/dependency-check-suppressions.xml | 6 ++ CHANGES.txt | 1 + 2 files changed, 7 insertions(+) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 4a9fafb310d9218db044ddacd2f6b6f3497022c8 Merge: d2ad51c2f6 0c79b2857a Author: Brandon Williams AuthorDate: Wed Jul 5 10:08:20 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit e5aa88a1382acb0c4fa0aff1a9d6f2d95dab55fd Merge: 0dd69ab854 0621658acd Author: Brandon Williams AuthorDate: Wed Jun 28 06:06:08 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/dependency-check-suppressions.xml | 6 +- CHANGES.txt | 1 + 2 files changed, 2 insertions(+), 5 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 41e62e6147da74d2b523106c3aef48c7c4e6d837 Merge: f7b952387a 776b33753b Author: Brandon Williams AuthorDate: Mon Jun 26 06:07:53 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt | 1 + build.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --cc CHANGES.txt index 80bb3eafd0,43a33eb9e7..6d36de8c05 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,5 -1,5 +1,6 @@@ -4.0.11 +4.1.3 +Merged from 4.0: + * Upgrade snappy to 1.1.10.1 (CASSANDRA-18608) * Fix assertion error when describing mv as table (CASSANDRA-18596) * Track the amount of read data per row (CASSANDRA-18513) * Fix Down nodes counter in nodetool describecluster (CASSANDRA-18512) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 868df97d7859d24e55e31c2f5d83bd01977ea5ff Merge: fb6dd1f61c bc3700da05 Author: Brandon Williams AuthorDate: Wed Jun 21 18:00:09 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt | 1 + 1 file changed, 1 insertion(+) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit fb6dd1f61c0f4e564c20069a605d8ca08e81f7d7 Merge: 579c724adf 76d11fdf51 Author: Brandon Williams AuthorDate: Wed Jun 21 06:26:54 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 1f6b37d18994ffd35b9dd62b5877f403cbb95cc8 Merge: b7c00d7d13 2fcdaa5b76 Author: Brandon Williams AuthorDate: Wed Jun 14 11:35:40 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../statements/schema/CreateTableStatement.java| 10 +++- .../schema/CreateTableValidationTest.java | 59 ++ 3 files changed, 68 insertions(+), 2 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. bereng pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 2973a7bdcd5c0a719ea7d5abb453e010c1a2540b Merge: 2b2d9f9b72 c94eb0e37b Author: Bereng AuthorDate: Mon Jun 12 10:02:20 2023 +0200 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: Generate.sh -s param to skip autodetection of tests .circleci/generate.sh | 12 +--- .circleci/readme.md | 3 +++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --cc .circleci/generate.sh index 2046362370,1e5742d5c6..6e50dec945 --- a/.circleci/generate.sh +++ b/.circleci/generate.sh @@@ -98,8 -97,12 +102,10 @@@ while getopts "e:afpib:s" opt; d fi has_env_vars=true ;; - b ) BASE_BRANCH="$OPTARG" - ;; i ) check_env_vars=false ;; + s ) detect_changed_tests=false + ;; \?) die "Invalid option: -$OPTARG" ;; esac - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. adelapena pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 2b2d9f9b725546c01017d688211931779565f39d Merge: 867c074dda 2393bb16f3 Author: Andrés de la Peña AuthorDate: Wed Jun 7 11:06:41 2023 +0100 Merge branch 'cassandra-4.0' into cassandra-4.1 .circleci/generate.sh | 18 +++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --cc .circleci/generate.sh index 29f66a2151,6ae3a5d4b6..2046362370 --- a/.circleci/generate.sh +++ b/.circleci/generate.sh @@@ -86,7 -86,7 +89,9 @@@ while getopts "e:afpib:" opt; d ;; p ) paid=true ;; - e ) if (!($has_env_vars)); then ++ b ) BASE_BRANCH="$OPTARG" ++ ;; + e ) if (! ($has_env_vars)); then env_vars="$OPTARG" else env_vars="$env_vars|$OPTARG" @@@ -182,7 -181,15 +187,14 @@@ elif (! ($has_env_vars)); the fi # add new or modified tests to the sets of tests to be repeated -if (!($all)); then +if (! ($all)); then + # Sanity check that the referenced branch exists + if ! git show ${BASE_BRANCH} -- >&/dev/null; then + echo -e "\n\nUnknown base branch: ${BASE_BRANCH}. Unable to detect changed tests.\n" + echo"Please use the '-b' option to choose an existing branch name" + echo"(e.g. origin/${BASE_BRANCH}, apache/${BASE_BRANCH}, etc.)." + exit 2 + fi - add_diff_tests () { dir="${BASEDIR}/../${2}" - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 6b99db84bace738f9851b66bfe2b94e862cb6b31 Merge: cdcf9bb5a6 be8cd8ab6b Author: Brandon Williams AuthorDate: Mon Jun 5 05:59:16 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/dependency-check-suppressions.xml | 1 + CHANGES.txt | 2 ++ 2 files changed, 3 insertions(+) diff --cc CHANGES.txt index 72eef1ddae,8e02cee7f2..30d96a0948 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -3,16 -2,11 +3,18 @@@ Merged from 4.0 * Remove unnecessary shuffling of GossipDigests in Gossiper#makeRandomGossipDigest (CASSANDRA-18546) Merged from 3.11: Merged from 3.0: + 3.0.30 + * Suppress CVE-2023-2976 (CASSANDRA-18562) * Remove dh_python use in Debian packaging (CASSANDRA-18558) -4.0.10 +4.1.2 + * Allow keystore and trustrore passwords to be nullable (CASSANDRA-18124) + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: * Improve nodetool enable{audit,fullquery}log (CASSANDRA-18550) * Report network cache info in nodetool (CASSANDRa-18400) * Partial compaction can resurrect deleted data (CASSANDRA-18507) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit cdcf9bb5a661ba772f590aff4e70015ddd0b192f Merge: 60b26fdfb4 fb41fb46fc Author: Brandon Williams AuthorDate: Thu Jun 1 15:30:08 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 60b26fdfb4e64e9bddda707edefcbcf8b7029244 Merge: 208a71c008 eb6a45fe6d Author: Brandon Williams AuthorDate: Thu Jun 1 15:02:43 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt | 1 + debian/rules | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --cc CHANGES.txt index 246ba581de,6a6b9d8b00..72eef1ddae --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -3,15 -2,9 +3,16 @@@ Merged from 4.0 * Remove unnecessary shuffling of GossipDigests in Gossiper#makeRandomGossipDigest (CASSANDRA-18546) Merged from 3.11: Merged from 3.0: + * Remove dh_python use in Debian packaging (CASSANDRA-18558) -4.0.10 +4.1.2 + * Allow keystore and trustrore passwords to be nullable (CASSANDRA-18124) + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: * Improve nodetool enable{audit,fullquery}log (CASSANDRA-18550) * Report network cache info in nodetool (CASSANDRa-18400) * Partial compaction can resurrect deleted data (CASSANDRA-18507) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. jonmeredith pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 208a71c00841ae9e79a2f17496beb61d42486094 Merge: 441285d58e 57293e8281 Author: Jon Meredith AuthorDate: Wed May 31 12:04:58 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 build.xml | 9 +- relocate-dependencies.pom | 2 +- .../config/CassandraRelevantProperties.java| 16 ++ .../org/apache/cassandra/service/GCInspector.java | 8 +- .../org/apache/cassandra/utils/JMXServerUtils.java | 28 ++- .../org/apache/cassandra/utils/MBeanWrapper.java | 212 ++- .../utils/RMIClientSocketFactoryImpl.java | 62 ++ .../apache/cassandra/utils/ReflectionUtils.java| 55 + .../distributed/impl/AbstractCluster.java | 12 ++ .../impl/CollectingRMIServerSocketFactoryImpl.java | 87 .../distributed/impl/INodeProvisionStrategy.java | 11 + .../cassandra/distributed/impl/Instance.java | 33 +++ .../cassandra/distributed/impl/InstanceConfig.java | 16 +- .../cassandra/distributed/impl/IsolatedJmx.java| 230 + .../distributed/test/ResourceLeakTest.java | 62 +- .../distributed/test/jmx/JMXFeatureTest.java | 113 ++ .../distributed/test/jmx/JMXGetterCheckTest.java | 26 +-- .../distributed/test/metric/TableMetricTest.java | 29 ++- 18 files changed, 962 insertions(+), 49 deletions(-) diff --cc build.xml index e56c1f8e8a,f50cb9bf4d..da21569de7 --- a/build.xml +++ b/build.xml @@@ -152,8 -146,6 +152,8 @@@ - ++ + diff --cc src/java/org/apache/cassandra/config/CassandraRelevantProperties.java index 3e45ebc3ed,67637ac76e..75e36b4693 --- a/src/java/org/apache/cassandra/config/CassandraRelevantProperties.java +++ b/src/java/org/apache/cassandra/config/CassandraRelevantProperties.java @@@ -226,14 -209,9 +239,17 @@@ public enum CassandraRelevantPropertie /** what class to use for mbean registeration */ MBEAN_REGISTRATION_CLASS("org.apache.cassandra.mbean_registration_class"), + /** This property indicates if the code is running under the in-jvm dtest framework */ + DTEST_IS_IN_JVM_DTEST("org.apache.cassandra.dtest.is_in_jvm_dtest"), + + BATCH_COMMIT_LOG_SYNC_INTERVAL("cassandra.batch_commitlog_sync_interval_millis", "1000"), + +SYSTEM_AUTH_DEFAULT_RF("cassandra.system_auth.default_rf", "1"), +SYSTEM_TRACES_DEFAULT_RF("cassandra.system_traces.default_rf", "2"), +SYSTEM_DISTRIBUTED_DEFAULT_RF("cassandra.system_distributed.default_rf", "3"), + +MEMTABLE_OVERHEAD_SIZE("cassandra.memtable.row_overhead_size", "-1"), + MEMTABLE_OVERHEAD_COMPUTE_STEPS("cassandra.memtable_row_overhead_computation_step", "10"), MIGRATION_DELAY("cassandra.migration_delay_ms", "6"), /** Defines how often schema definitions are pulled from the other nodes */ SCHEMA_PULL_INTERVAL_MS("cassandra.schema_pull_interval_ms", "6"), diff --cc test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java index 7d333726e5,fcbef4c220..47371772b9 --- a/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java @@@ -183,9 -163,10 +183,11 @@@ public abstract class AbstractCluster< extends org.apache.cassandra.distributed.shared.AbstractBuilder { private INodeProvisionStrategy.Strategy nodeProvisionStrategy = INodeProvisionStrategy.Strategy.MultipleNetworkInterfaces; +private ShutdownExecutor shutdownExecutor = DEFAULT_SHUTDOWN_EXECUTOR; { + // Indicate that we are running in the in-jvm dtest environment + CassandraRelevantProperties.DTEST_IS_IN_JVM_DTEST.setBoolean(true); // those properties may be set for unit-test optimizations; those should not be used when running dtests CassandraRelevantProperties.FLUSH_LOCAL_SCHEMA_CHANGES.reset(); CassandraRelevantProperties.NON_GRACEFUL_SHUTDOWN.reset(); diff --cc test/distributed/org/apache/cassandra/distributed/impl/CollectingRMIServerSocketFactoryImpl.java index 00,0f16286b4d..5e67eafef6 mode 00,100644..100644 --- a/test/distributed/org/apache/cassandra/distributed/impl/CollectingRMIServerSocketFactoryImpl.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/CollectingRMIServerSocketFactoryImpl.java @@@ -1,0 -1,87 +1,87 @@@ + /* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the +
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 2101ce947e6a8fa641d03ff6aa7f1f88fc89b0dc Merge: 22d74c7116 71b79cfbe3 Author: Mick Semb Wever AuthorDate: Mon May 29 13:47:01 2023 +0200 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: Increment version to 4.0.11 and 4.1.3 CHANGES.txt | 5 + build.xml| 2 +- debian/changelog | 6 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --cc CHANGES.txt index 302ac8b936,1923eb004c..d477b7fbca --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,11 -1,8 +1,16 @@@ -4.0.11 ++4.1.3 ++Merged from 4.0: + Merged from 3.11: + Merged from 3.0: + -4.0.10 +4.1.2 + * Allow keystore and trustrore passwords to be nullable (CASSANDRA-18124) + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: * Improve nodetool enable{audit,fullquery}log (CASSANDRA-18550) * Report network cache info in nodetool (CASSANDRa-18400) * Partial compaction can resurrect deleted data (CASSANDRA-18507) diff --cc build.xml index 6dcc224e8f,f9dc014f26..e56c1f8e8a --- a/build.xml +++ b/build.xml @@@ -33,7 -33,7 +33,7 @@@ - - ++ https://gitbox.apache.org/repos/asf/cassandra.git"/> https://gitbox.apache.org/repos/asf/cassandra.git"/> https://gitbox.apache.org/repos/asf?p=cassandra.git;a=tree"/> diff --cc debian/changelog index 2363ea96f2,937aa6501c..1bb1d0da29 --- a/debian/changelog +++ b/debian/changelog @@@ -1,4 -1,10 +1,10 @@@ -cassandra (4.0.11) UNRELEASED; urgency=medium ++cassandra (4.1.3) UNRELEASED; urgency=medium + + * New release + - -- Mick Semb Wever Thu, 25 May 2023 14:44:07 +0200 ++ -- Mick Semb Wever Thu, 25 May 2023 16:11:28 +0200 + -cassandra (4.0.10) unstable; urgency=medium +cassandra (4.1.2) unstable; urgency=medium * New release - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 22d74c711658507addfd67e2c78b04a9b88413b2 Merge: cbe8b39f39 4555b94345 Author: Mick Semb Wever AuthorDate: Fri May 26 15:56:43 2023 +0200 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: ninja-fix FullQueryLoggerTest, requires allow_nodetool_archive_command false to begin with CASSANDRA-18550 test/unit/org/apache/cassandra/fql/FullQueryLoggerTest.java | 2 ++ 1 file changed, 2 insertions(+) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 064d0db0fd195f2f1512d5dacfb801ae0d45084f Merge: 9e7135c666 f0699bca74 Author: Brandon Williams AuthorDate: Thu May 25 09:25:49 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 test/conf/cassandra.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --cc test/conf/cassandra.yaml index 80de239390,017797f349..89c5685a9d --- a/test/conf/cassandra.yaml +++ b/test/conf/cassandra.yaml @@@ -39,67 -39,18 +39,69 @@@ server_encryption_options truststore_password: cassandra incremental_backups: true concurrent_compactors: 4 -compaction_throughput_mb_per_sec: 0 +compaction_throughput: 0MiB/s row_cache_class_name: org.apache.cassandra.cache.OHCProvider -row_cache_size_in_mb: 16 -enable_user_defined_functions: true -enable_scripted_user_defined_functions: true -prepared_statements_cache_size_mb: 1 +row_cache_size: 16MiB +user_defined_functions_enabled: true +scripted_user_defined_functions_enabled: true +prepared_statements_cache_size: 1MiB corrupted_tombstone_strategy: exception stream_entire_sstables: true -stream_throughput_outbound_megabits_per_sec: 2 -enable_sasi_indexes: true -enable_materialized_views: true -enable_drop_compact_storage: true +stream_throughput_outbound: 23841858MiB/s +sasi_indexes_enabled: true +materialized_views_enabled: true +drop_compact_storage_enabled: true file_cache_enabled: true + full_query_logging_options: + allow_nodetool_archive_command: true +auto_hints_cleanup_enabled: true + +read_thresholds_enabled: true +coordinator_read_size_warn_threshold: 1024KiB +coordinator_read_size_fail_threshold: 4096KiB +local_read_size_warn_threshold: 4096KiB +local_read_size_fail_threshold: 8192KiB +row_index_read_size_warn_threshold: 4096KiB +row_index_read_size_fail_threshold: 8192KiB + +memtable: +configurations: +skiplist: +inherits: default +class_name: SkipListMemtable +skiplist_sharded: +class_name: ShardedSkipListMemtable +parameters: +serialize_writes: false +shards: 4 +skiplist_sharded_locking: +inherits: skiplist_sharded +parameters: +serialize_writes: true +skiplist_remapped: +inherits: skiplist +test_fullname: +inherits: default +class_name: org.apache.cassandra.db.memtable.TestMemtable +test_shortname: +class_name: TestMemtable +parameters: +skiplist: true # note: YAML must interpret this as string, not a boolean +test_empty_class: +class_name: "" +test_missing_class: +parameters: +test_unknown_class: +class_name: NotExisting +test_invalid_param: +class_name: SkipListMemtable +parameters: +invalid: throw +test_invalid_extra_param: +inherits: test_shortname +parameters: +invalid: throw +test_invalid_factory_method: +class_name: org.apache.cassandra.cql3.validation.operations.CreateTest$InvalidMemtableFactoryMethod +test_invalid_factory_field: +class_name: org.apache.cassandra.cql3.validation.operations.CreateTest$InvalidMemtableFactoryField - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 9e7135c66607179099e8b4f634fb86cac8297737 Merge: 72fc04d238 da77d3f729 Author: Mick Semb Wever AuthorDate: Thu May 25 15:16:36 2023 +0200 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: Prepare debian changelog for 4.0.10 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. marcuse pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 72fc04d238dbdece34ba6f922b431beb1b14ec7d Merge: 93efe0ee04 aafb4d1944 Author: Marcus Eriksson AuthorDate: Thu May 25 08:42:30 2023 +0200 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + conf/cassandra.yaml| 2 ++ .../cassandra/config/DatabaseDescriptor.java | 5 .../apache/cassandra/service/StorageService.java | 8 +- .../cassandra/tools/nodetool/EnableAuditLog.java | 4 ++- .../tools/nodetool/EnableFullQueryLog.java | 3 ++- .../cassandra/utils/binlog/BinLogOptions.java | 7 ++ .../apache/cassandra/audit/AuditLoggerTest.java| 29 ++ .../apache/cassandra/fql/FullQueryLoggerTest.java | 27 9 files changed, 83 insertions(+), 3 deletions(-) diff --cc CHANGES.txt index 0f46880950,4f873aa71c..302ac8b936 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,11 -1,5 +1,12 @@@ -4.0.10 +4.1.2 + * Allow keystore and trustrore passwords to be nullable (CASSANDRA-18124) + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: + * Improve nodetool enable{audit,fullquery}log (CASSANDRA-18550) * Report network cache info in nodetool (CASSANDRa-18400) * Partial compaction can resurrect deleted data (CASSANDRA-18507) * Allow internal address to change with reconnecting snitches (CASSANDRA-16718) diff --cc conf/cassandra.yaml index a15de953c0,3e4da52f5f..4b2711cfb7 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@@ -1580,15 -1352,17 +1580,17 @@@ audit_logging_options # default options for full query logging - these can be overridden from command line when executing # nodetool enablefullquerylog -#full_query_logging_options: -# log_dir: -# roll_cycle: HOURLY -# block: true -# max_queue_weight: 268435456 # 256 MiB -# max_log_size: 17179869184 # 16 GiB -## archive command is "/path/to/script.sh %path" where %path is replaced with the file being rolled: -# archive_command: -## note that enabling this allows anyone with JMX/nodetool access to run local shell commands as the user running cassandra -# allow_nodetool_archive_command: false -# max_archive_retries: 10 +# full_query_logging_options: + # log_dir: + # roll_cycle: HOURLY + # block: true + # max_queue_weight: 268435456 # 256 MiB + # max_log_size: 17179869184 # 16 GiB + ## archive command is "/path/to/script.sh %path" where %path is replaced with the file being rolled: + # archive_command: ++ ## note that enabling this allows anyone with JMX/nodetool access to run local shell commands as the user running cassandra ++ # allow_nodetool_archive_command: false + # max_archive_retries: 10 # validate tombstones on reads and compaction # can be either "disabled", "warn" or "exception" diff --cc src/java/org/apache/cassandra/service/StorageService.java index 87cfbac046,b53467e81b..ed10f04773 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@@ -6390,33 -5998,29 +6390,37 @@@ public class StorageService extends Not public void enableAuditLog(String loggerName, Map parameters, String includedKeyspaces, String excludedKeyspaces, String includedCategories, String excludedCategories, String includedUsers, String excludedUsers) throws ConfigurationException, IllegalStateException { -loggerName = loggerName != null ? loggerName : DatabaseDescriptor.getAuditLoggingOptions().logger.class_name; - -Preconditions.checkNotNull(loggerName, "cassandra.yaml did not have logger in audit_logging_option and not set as parameter"); - Preconditions.checkState(FBUtilities.isAuditLoggerClassExists(loggerName), "Unable to find AuditLogger class: "+loggerName); - -AuditLogOptions auditLogOptions = new AuditLogOptions(); -auditLogOptions.enabled = true; -auditLogOptions.logger = new ParameterizedClass(loggerName, parameters); -auditLogOptions.included_keyspaces = includedKeyspaces != null ? includedKeyspaces : DatabaseDescriptor.getAuditLoggingOptions().included_keyspaces; -auditLogOptions.excluded_keyspaces = excludedKeyspaces != null ? excludedKeyspaces : DatabaseDescriptor.getAuditLoggingOptions().excluded_keyspaces; -auditLogOptions.included_categories =
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 93efe0ee0457da321f01ee6b950bcb0c077f0f7e Merge: f416a94125 54528bff20 Author: Brandon Williams AuthorDate: Wed May 24 09:37:11 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../cassandra/metrics/BufferPoolMetrics.java | 5 +++ src/java/org/apache/cassandra/tools/NodeProbe.java | 38 -- .../org/apache/cassandra/tools/nodetool/Info.java | 16 + 4 files changed, 58 insertions(+), 2 deletions(-) diff --cc CHANGES.txt index 63b35a2fb6,b057a07f2a..0f46880950 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,11 -1,5 +1,12 @@@ -4.0.10 +4.1.2 + * Allow keystore and trustrore passwords to be nullable (CASSANDRA-18124) + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: + * Report network cache info in nodetool (CASSANDRa-18400) * Partial compaction can resurrect deleted data (CASSANDRA-18507) * Allow internal address to change with reconnecting snitches (CASSANDRA-16718) * Fix quoting in toCqlString methods of UDTs and aggregates (CASSANDRA-17918) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. dcapwell pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 446a9d1d011be89e33970def2eb25366d6a24122 Merge: 402e2f2f73 1053e3b475 Author: David Capwell AuthorDate: Thu May 18 10:34:49 2023 -0700 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../db/compaction/CompactionController.java| 2 +- .../cassandra/db/compaction/CompactionTask.java| 25 ++- .../test/CompactionOverlappingSSTableTest.java | 115 .../db/compaction/PartialCompactionsTest.java | 207 + 5 files changed, 341 insertions(+), 9 deletions(-) diff --cc CHANGES.txt index baf11ee6c0,6db0e3b084..6167e04416 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,11 -1,5 +1,12 @@@ -4.0.10 +4.1.2 + * Allow keystore and trustrore passwords to be nullable (CASSANDRA-18124) + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: + * Partial compaction can resurrect deleted data (CASSANDRA-18507) * Allow internal address to change with reconnecting snitches (CASSANDRA-16718) * Fix quoting in toCqlString methods of UDTs and aggregates (CASSANDRA-17918) * NPE when deserializing malformed collections from client (CASSANDRA-18505) diff --cc src/java/org/apache/cassandra/db/compaction/CompactionTask.java index dc08f5ae01,90abac3fb2..5fc8031966 --- a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java @@@ -88,13 -83,14 +88,14 @@@ public class CompactionTask extends Abs if (partialCompactionsAcceptable() && transaction.originals().size() > 1) { // Try again w/o the largest one. - logger.warn("insufficient space to compact all requested files. {}MiB required, {} for compaction {}", + SSTableReader removedSSTable = cfs.getMaxSizeFile(nonExpiredSSTables); -logger.warn("insufficient space to compact all requested files. {}MB required, {} for compaction {} - removing largest SSTable: {}", ++logger.warn("insufficient space to compact all requested files. {}MiB required, {} for compaction {} - removing largest SSTable: {}", (float) expectedSize / 1024 / 1024, StringUtils.join(transaction.originals(), ", "), - transaction.opId()); + transaction.opId(), + removedSSTable); // Note that we have removed files that are still marked as compacting. // This suboptimal but ok since the caller will unmark all the sstables at the end. - SSTableReader removedSSTable = cfs.getMaxSizeFile(nonExpiredSSTables); transaction.cancel(removedSSTable); return true; } diff --cc test/distributed/org/apache/cassandra/distributed/test/CompactionOverlappingSSTableTest.java index 00,54f8ad7a7a..6a65c91437 mode 00,100644..100644 --- a/test/distributed/org/apache/cassandra/distributed/test/CompactionOverlappingSSTableTest.java +++ b/test/distributed/org/apache/cassandra/distributed/test/CompactionOverlappingSSTableTest.java @@@ -1,0 -1,114 +1,115 @@@ + /* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + package org.apache.cassandra.distributed.test; + + import java.io.IOException; + import java.util.Arrays; + import java.util.Set; + import java.util.concurrent.TimeUnit; ++import java.util.concurrent.TimeoutException; + import java.util.concurrent.atomic.AtomicBoolean; + import java.util.stream.Collectors; + + import com.google.common.collect.Iterables; + import com.google.common.collect.Sets; + import
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 67d73469b490982ae0e27c396bc96abbe79268d4 Merge: 29ca06ef9d b791644fda Author: Brandon Williams AuthorDate: Tue May 16 09:01:21 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt | 1 + src/java/org/apache/cassandra/gms/EndpointState.java| 5 + src/java/org/apache/cassandra/gms/Gossiper.java | 17 + .../cassandra/locator/ReconnectableSnitchHelper.java| 8 ++-- src/java/org/apache/cassandra/net/MessagingService.java | 7 +++ .../cassandra/net/OutboundConnectionSettings.java | 4 ++-- 6 files changed, 38 insertions(+), 4 deletions(-) diff --cc CHANGES.txt index 52510028bf,ff745f3092..77b725fa3c --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,11 -1,5 +1,12 @@@ -4.0.10 +4.1.2 + * Allow keystore and trustrore passwords to be nullable (CASSANDRA-18124) + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: + * Allow internal address to change with reconnecting snitches (CASSANDRA-16718) * Fix quoting in toCqlString methods of UDTs and aggregates (CASSANDRA-17918) * NPE when deserializing malformed collections from client (CASSANDRA-18505) * Improve 'Not enough space for compaction' logging messages (CASSANDRA-18260) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 29ca06ef9d63ab8dcf809b943f671fd1660a3512 Merge: d7917a5144 2d40ee9019 Author: Brandon Williams AuthorDate: Mon May 15 11:22:37 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. jonmeredith pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 7f4e9bb67bbcb09a11d62609aa1c15a011463d86 Merge: 933af9b2db ae995eb3d3 Author: Jon Meredith AuthorDate: Tue May 9 17:47:55 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../serializers/CollectionSerializer.java | 8 + .../cassandra/serializers/ListSerializer.java | 9 -- .../cassandra/serializers/MapSerializer.java | 8 ++--- .../cassandra/serializers/SetSerializer.java | 4 +-- .../cql3/validation/entities/CollectionsTest.java | 4 +-- .../apache/cassandra/transport/SerDeserTest.java | 36 ++ 7 files changed, 60 insertions(+), 10 deletions(-) diff --cc CHANGES.txt index c3659802b2,ac053c3f5b..08da17a5a3 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,11 -1,5 +1,12 @@@ -4.0.10 +4.1.2 + * Allow keystore and trustrore passwords to be nullable (CASSANDRA-18124) + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: + * NPE when deserializing malformed collections from client (CASSANDRA-18505) * Improve 'Not enough space for compaction' logging messages (CASSANDRA-18260) * Incremental repairs fail on mixed IPv4/v6 addresses serializing SyncRequest (CASSANDRA-18474) * Deadlock updating sstable metadata if disk boundaries need reloading (CASSANDRA-18443) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 7e4fd3653b5af86f9ffb1c23612680d4cacf8cca Merge: 462934a84b f7de633ff8 Author: Brandon Williams AuthorDate: Fri May 5 06:09:45 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 462934a84bac08b87ad8ebfcd2d9e8e6227cfa99 Merge: 82dc54c3a8 682ae0c64c Author: Brandon Williams AuthorDate: Thu May 4 10:26:03 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/dependency-check-suppressions.xml | 1 + CHANGES.txt | 14 ++ 2 files changed, 15 insertions(+) diff --cc CHANGES.txt index a775ce8ff3,a10b0f67df..c3659802b2 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -10,9 -3,22 +10,23 @@@ Merged from 4.0 * Incremental repairs fail on mixed IPv4/v6 addresses serializing SyncRequest (CASSANDRA-18474) * Deadlock updating sstable metadata if disk boundaries need reloading (CASSANDRA-18443) * Fix nested selection of reversed collections (CASSANDRA-17913) + * Update zstd-jni library to version 1.5.5 (CASSANDRA-18429) Merged from 3.11: * Fix the capital P usage in the CQL parser (CASSANDRA-17919) + Merged from 3.0: + * Suppress CVE-2023-2251 (CASSANDRA-18497) + * Do not remove SSTables when cause of FSReadError is OutOfMemoryError while using best_effort disk failure policy (CASSANDRA-18336) + * Do not remove truncated_at entry in system.local while dropping an index (CASSANDRA-18105) + + 4.0.9 + * Update zstd-jni library to version 1.5.5 (CASSANDRA-18429) + * Backport CASSANDRA-17205 to 4.0 branch - Remove self-reference in SSTableTidier (CASSANDRA-18332) + * Avoid loading the preferred IP for BulkLoader streaming (CASSANDRA-18370) + * Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311) + * Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125) + * Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259) + * Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242) + Merged from 3.11: * Fix sstable_count metric missing from tablestats json/yaml output (CASSANDRA-18448) * Suppress CVE-2022-45688 (CASSANDRA-18389) * Fix Splitter sometimes creating more splits than requested (CASSANDRA-18013) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 82dc54c3a89ed55e14b04a0d99dc59782991f99e Merge: 602ffcbf3e 65c99bfc42 Author: Mick Semb Wever AuthorDate: Thu May 4 12:24:47 2023 +0200 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: Improve 'Not enough space for compaction' logging messages CHANGES.txt| 1 + src/java/org/apache/cassandra/db/Directories.java | 23 ++- .../org/apache/cassandra/db/DirectoriesTest.java | 179 + 3 files changed, 202 insertions(+), 1 deletion(-) diff --cc CHANGES.txt index e6af024cd3,b3f3cf883a..a775ce8ff3 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,11 -1,5 +1,12 @@@ -4.0.10 +4.1.2 + * Allow keystore and trustrore passwords to be nullable (CASSANDRA-18124) + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: + * Improve 'Not enough space for compaction' logging messages (CASSANDRA-18260) * Incremental repairs fail on mixed IPv4/v6 addresses serializing SyncRequest (CASSANDRA-18474) * Deadlock updating sstable metadata if disk boundaries need reloading (CASSANDRA-18443) * Fix nested selection of reversed collections (CASSANDRA-17913) diff --cc src/java/org/apache/cassandra/db/Directories.java index 9f80ce0619,cecc60d75c..b16dd972f1 --- a/src/java/org/apache/cassandra/db/Directories.java +++ b/src/java/org/apache/cassandra/db/Directories.java @@@ -499,11 -492,32 +499,32 @@@ public class Directorie continue; DataDirectoryCandidate candidate = new DataDirectoryCandidate(dataDir); // exclude directory if its total writeSize does not fit to data directory + logger.debug("DataDirectory {} has {} bytes available, checking if we can write {} bytes", dataDir.location, candidate.availableSpace, writeSize); if (candidate.availableSpace < writeSize) + { + logger.warn("DataDirectory {} can't be used for compaction. Only {} is available, but {} is the minimum write size.", + candidate.dataDirectory.location, + FileUtils.stringifyFileSize(candidate.availableSpace), + FileUtils.stringifyFileSize(writeSize)); continue; + } totalAvailable += candidate.availableSpace; } - return totalAvailable > expectedTotalWriteSize; + + if (totalAvailable <= expectedTotalWriteSize) + { + StringJoiner pathString = new StringJoiner(",", "[", "]"); + for (DataDirectory p: paths) + { -pathString.add(p.location.getAbsolutePath()); ++pathString.add(p.location.toJavaIOFile().getAbsolutePath()); + } + logger.warn("Insufficient disk space for compaction. Across {} there's only {} available, but {} is needed.", + pathString.toString(), + FileUtils.stringifyFileSize(totalAvailable), + FileUtils.stringifyFileSize(expectedTotalWriteSize)); + return false; + } + return true; } public DataDirectory[] getWriteableLocations() diff --cc test/unit/org/apache/cassandra/db/DirectoriesTest.java index 252c630614,022c3a07d5..c701516d1e --- a/test/unit/org/apache/cassandra/db/DirectoriesTest.java +++ b/test/unit/org/apache/cassandra/db/DirectoriesTest.java @@@ -20,19 -20,10 +20,20 @@@ package org.apache.cassandra.db import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.util.*; +import java.time.Instant; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.IdentityHashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; + import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.Callable; import java.util.concurrent.Executors; import java.util.concurrent.Future; @@@ -46,10 -36,22 +49,20 @@@ import org.junit.AfterClass import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.apache.cassandra.Util; + import org.slf4j.LoggerFactory; + import
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit cfabddcfb0ac6374851aa8ed024992a3cf5000a4 Merge: 1a72fbd9c6 1929550fc0 Author: Mick Semb Wever AuthorDate: Sat Apr 29 19:01:00 2023 +0200 Merge branch 'cassandra-4.0' into cassandra-4.1 doc/modules/cassandra/pages/data_modeling/data_modeling_queries.adoc | 2 +- doc/modules/cassandra/pages/data_modeling/data_modeling_rdbms.adoc | 2 +- doc/modules/cassandra/pages/getting_started/production.adoc | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. jonmeredith pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 1d926e8c6f88e70a2d4c1fd062350585d685efbc Merge: 4c13df58cb 09c1e67598 Author: Jon Meredith AuthorDate: Tue Apr 25 12:00:30 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + src/java/org/apache/cassandra/repair/messages/SyncRequest.java | 8 +--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --cc CHANGES.txt index 1c9a38a6aa,d4b305e7f8..489f39fa3c --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,14 -1,16 +1,15 @@@ -4.0.10 +4.1.2 + * Allow keystore and trustrore passwords to be nullable (CASSANDRA-18124) + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: + * Incremental repairs fail on mixed IPv4/v6 addresses serializing SyncRequest (CASSANDRA-18474) * Deadlock updating sstable metadata if disk boundaries need reloading (CASSANDRA-18443) * Fix nested selection of reversed collections (CASSANDRA-17913) - -4.0.9 * Update zstd-jni library to version 1.5.5 (CASSANDRA-18429) - * Backport CASSANDRA-17205 to 4.0 branch - Remove self-reference in SSTableTidier (CASSANDRA-18332) - * Avoid loading the preferred IP for BulkLoader streaming (CASSANDRA-18370) - * Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311) - * Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125) - * Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259) - * Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242) Merged from 3.11: * Fix sstable_count metric missing from tablestats json/yaml output (CASSANDRA-18448) * Suppress CVE-2022-45688 (CASSANDRA-18389) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. jonmeredith pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 4c13df58cb3c5bea102b3a026a60574763d4dafd Merge: 2208235ce9 cd9bed0aea Author: Jon Meredith AuthorDate: Fri Apr 21 10:47:59 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../org/apache/cassandra/db/compaction/CompactionStrategyManager.java | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --cc CHANGES.txt index 852e4f9c91,35a0fc16d6..1c9a38a6aa --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,13 -1,15 +1,14 @@@ -4.0.10 +4.1.2 + * Allow keystore and trustrore passwords to be nullable (CASSANDRA-18124) + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: + * Deadlock updating sstable metadata if disk boundaries need reloading (CASSANDRA-18443) * Fix nested selection of reversed collections (CASSANDRA-17913) - -4.0.9 * Update zstd-jni library to version 1.5.5 (CASSANDRA-18429) - * Backport CASSANDRA-17205 to 4.0 branch - Remove self-reference in SSTableTidier (CASSANDRA-18332) - * Avoid loading the preferred IP for BulkLoader streaming (CASSANDRA-18370) - * Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311) - * Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125) - * Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259) - * Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242) Merged from 3.11: * Fix sstable_count metric missing from tablestats json/yaml output (CASSANDRA-18448) * Suppress CVE-2022-45688 (CASSANDRA-18389) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. adelapena pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 2208235ce9928bbf7916e6c37616abe29f939214 Merge: bd49f6ff26 3f67827387 Author: Andrés de la Peña AuthorDate: Mon Apr 17 14:50:18 2023 +0100 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../tools/nodetool/stats/TableStatsHolder.java | 2 + .../cassandra/tools/nodetool/TableStatsTest.java | 29 + .../nodetool/stats/TableStatsPrinterTest.java | 135 - 4 files changed, 165 insertions(+), 2 deletions(-) diff --cc CHANGES.txt index 79d3e8b287,cf208d7eb9..852e4f9c91 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,14 -1,16 +1,15 @@@ -4.0.10 +4.1.2 + * Allow keystore and trustrore passwords to be nullable (CASSANDRA-18124) + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: * Fix nested selection of reversed collections (CASSANDRA-17913) - -4.0.9 * Update zstd-jni library to version 1.5.5 (CASSANDRA-18429) - * Backport CASSANDRA-17205 to 4.0 branch - Remove self-reference in SSTableTidier (CASSANDRA-18332) - * Avoid loading the preferred IP for BulkLoader streaming (CASSANDRA-18370) - * Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311) - * Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125) - * Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259) - * Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242) Merged from 3.11: + * Fix sstable_count metric missing from tablestats json/yaml output (CASSANDRA-18448) * Suppress CVE-2022-45688 (CASSANDRA-18389) * Fix Splitter sometimes creating more splits than requested (CASSANDRA-18013) Merged from 3.0: diff --cc src/java/org/apache/cassandra/tools/nodetool/stats/TableStatsHolder.java index c6b2301c2c,3cd2570185..60132d1fed --- a/src/java/org/apache/cassandra/tools/nodetool/stats/TableStatsHolder.java +++ b/src/java/org/apache/cassandra/tools/nodetool/stats/TableStatsHolder.java @@@ -119,8 -117,9 +119,10 @@@ public class TableStatsHolder implement private Map convertStatsTableToMap(StatsTable table) { Map mpTable = new HashMap<>(); + mpTable.put("sstable_count", table.sstableCount); + mpTable.put("old_sstable_count", table.oldSSTableCount); mpTable.put("sstables_in_each_level", table.sstablesInEachLevel); +mpTable.put("sstable_bytes_in_each_level", table.sstableBytesInEachLevel); mpTable.put("space_used_live", table.spaceUsedLive); mpTable.put("space_used_total", table.spaceUsedTotal); mpTable.put("space_used_by_snapshots_total", table.spaceUsedBySnapshotsTotal); diff --cc test/unit/org/apache/cassandra/tools/nodetool/TableStatsTest.java index 1ba30f0b80,00..578bd88618 mode 100644,00..100644 --- a/test/unit/org/apache/cassandra/tools/nodetool/TableStatsTest.java +++ b/test/unit/org/apache/cassandra/tools/nodetool/TableStatsTest.java @@@ -1,226 -1,0 +1,255 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.cassandra.tools.nodetool; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.apache.commons.lang3.StringUtils; +import org.junit.BeforeClass; +import org.junit.Test; + ++import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.cassandra.cql3.CQLTester; +import org.apache.cassandra.tools.ToolRunner; ++import org.yaml.snakeyaml.Yaml; + +import static org.assertj.core.api.Assertions.assertThat; ++import static org.assertj.core.api.Assertions.assertThatCode; +
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit edb34e2f626be0c04d3055a66611cb0a2541bc91 Merge: 527f12e3ee 7d84ad9366 Author: Brandon Williams AuthorDate: Fri Apr 7 13:42:45 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt | 1 + 1 file changed, 1 insertion(+) diff --cc CHANGES.txt index 536c672b7c,31c5213fad..718fe56ff1 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,30 -1,20 +1,31 @@@ -4.0.9 +4.1.2 + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: * Update zstd-jni library to version 1.5.5 (CASSANDRA-18429) - * Backport CASSANDRA-17205 to 4.0 branch - Remove self-reference in SSTableTidier (CASSANDRA-18332) - * Avoid loading the preferred IP for BulkLoader streaming (CASSANDRA-18370) - * Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311) - * Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125) - * Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259) - * Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242) Merged from 3.11: * Suppress CVE-2022-45688 (CASSANDRA-18389) + * Fix Splitter sometimes creating more splits than requested (CASSANDRA-18013) Merged from 3.0: * Save host id to system.local and flush immediately after startup (CASSANDRA-18153) - * Fix the ordering of sstables when running sstableupgrade tool (CASSANDRA-18143) - * Fix default file system error handler for disk_failure_policy die (CASSANDRA-18294) -4.0.8 +4.1.1 + * Deprecate org.apache.cassandra.hadoop code (CASSANDRA-16984) + * Fix too early schema version change in sysem local table (CASSANDRA-18291) + * Fix copying of JAR of a trigger to temporary file (CASSANDRA-18264) + * Fix possible NoSuchFileException when removing a snapshot (CASSANDRA-18211) + * PaxosPrepare may add instances to the Electorate that are not in gossip (CASSANDRA-18194) + * Fix PAXOS2_COMMIT_AND_PREPARE_RSP serialisation AssertionError (CASSANDRA-18164) + * Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT and fail streaming (CASSANDRA-18110) + * Fix perpetual load of denylist on read in cases where denylist can never be loaded (CASSANDRA-18116) +Merged from 4.0: + * Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311) + * Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125) + * Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259) + * Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242) * Log warning message on aggregation queries without key or on multiple keys (CASSANDRA-18219) * Fix the output of FQL dump tool to properly separate entries (CASSANDRA-18215) * Add cache type information for maximum memory usage warning message (CASSANDRA-18184) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. jmckenzie pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 085765a07c9eb87e05a700ba4395c9df672a60c1 Merge: f53b4149d0 f6fce7ab51 Author: Josh McKenzie AuthorDate: Mon Apr 3 16:11:01 2023 -0400 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 4 +++- src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java | 8 src/java/org/apache/cassandra/utils/concurrent/Ref.java| 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --cc CHANGES.txt index c0a6b14f57,c661db958e..4f0272a113 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,29 -1,18 +1,29 @@@ -4.0.9 - * Backport CASSANDRA-17205 to 4.0 branch - Remove self-reference in SSTableTidier (CASSANDRA-18332) - * Avoid loading the preferred IP for BulkLoader streaming (CASSANDRA-18370) - * Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311) - * Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125) - * Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259) - * Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242) +4.1.2 + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: Merged from 3.11: * Suppress CVE-2022-45688 (CASSANDRA-18389) - Merged from 3.0: + Merged from 3.0: * Save host id to system.local and flush immediately after startup (CASSANDRA-18153) - * Fix the ordering of sstables when running sstableupgrade tool (CASSANDRA-18143) - * Fix default file system error handler for disk_failure_policy die (CASSANDRA-18294) -4.0.8 +4.1.1 + * Deprecate org.apache.cassandra.hadoop code (CASSANDRA-16984) + * Fix too early schema version change in sysem local table (CASSANDRA-18291) + * Fix copying of JAR of a trigger to temporary file (CASSANDRA-18264) + * Fix possible NoSuchFileException when removing a snapshot (CASSANDRA-18211) + * PaxosPrepare may add instances to the Electorate that are not in gossip (CASSANDRA-18194) + * Fix PAXOS2_COMMIT_AND_PREPARE_RSP serialisation AssertionError (CASSANDRA-18164) + * Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT and fail streaming (CASSANDRA-18110) + * Fix perpetual load of denylist on read in cases where denylist can never be loaded (CASSANDRA-18116) +Merged from 4.0: + * Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311) + * Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125) + * Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259) + * Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242) * Log warning message on aggregation queries without key or on multiple keys (CASSANDRA-18219) * Fix the output of FQL dump tool to properly separate entries (CASSANDRA-18215) * Add cache type information for maximum memory usage warning message (CASSANDRA-18184) @@@ -52,28 -44,11 +52,30 @@@ Merged from 3.0 * Add to the IntelliJ Git Window issue navigation links to Cassandra's Jira (CASSANDRA-18126) * Avoid anticompaction mixing data from two different time windows with TWCS (CASSANDRA-17970) * Do not spam the logs with MigrationCoordinator not being able to pull schemas (CASSANDRA-18096) + +4.1.0 + * Fix ContentionStrategy backoff and Clock.waitUntil (CASSANDRA-18086) +Merged from 4.0: +Merged from 3.11: +Merged from 3.0: * Fix incorrect resource name in LIST PERMISSION output (CASSANDRA-17848) * Suppress CVE-2022-41854 and similar (CASSANDRA-18083) - * Fix running Ant rat targets without git (CASSANDRA-17974) -4.0.7 + +4.1-rc1 + * Avoid schema mismatch problems on memtable API misconfiguration (CASSANDRA-18040) + * Start Paxos auto repair in CassandraDaemon (CASSANDRA-18029) + * Restore streaming_keep_alive_period on the netty control streaming channel (CASSANDRA-17768) + * Move Schema.FORCE_LOAD_KEYSPACES and Schema.FORCE_LOAD_KEYSPACES_PROP to CassandraRelevantProps (CASSANDRA-17783) + * Add --resolve-ip option to nodetool gossipinfo (CASSANDRA-17934) + * Allow pre-V5 global limit on bytes in flight to revert to zero asynchronously in RateLimitingTest (CASSANDRA-17927) +Merged from 4.0: ++ * Backport CASSANDRA-17205 to 4.0 branch - Remove self-reference in SSTableTidier (CASSANDRA-18332) ++ * Avoid loading the preferred IP for BulkLoader streaming (CASSANDRA-18370) + * Harden parsing of boolean values in CQL in PropertyDefinitions (CASSANDRA-17878
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit f53b4149d04fceea8d9ae8c9437b761b020deaa5 Merge: fc36817033 b3256f5bf2 Author: Mick Semb Wever AuthorDate: Mon Apr 3 15:08:22 2023 +0200 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: Fix the number of running trees per thread for LongBTreeTest hanging test test/burn/org/apache/cassandra/utils/LongBTreeTest.java | 11 +-- 1 file changed, 5 insertions(+), 6 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit fc36817033d5e1f56d10fc478d1d97f750715766 Merge: 03806f95e4 ed904a72f4 Author: Brandon Williams AuthorDate: Mon Apr 3 06:07:57 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/dependency-check-suppressions.xml | 5 + CHANGES.txt | 1 + 2 files changed, 6 insertions(+) diff --cc CHANGES.txt index c12983568e,d231ded448..c0a6b14f57 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,28 -1,17 +1,29 @@@ -4.0.9 - * Avoid loading the preferred IP for BulkLoader streaming (CASSANDRA-18370) - * Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311) - * Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125) - * Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259) - * Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242) +4.1.2 + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) +Merged from 4.0: Merged from 3.11: + * Suppress CVE-2022-45688 (CASSANDRA-18389) -Merged from 3.0: +Merged from 3.0: * Save host id to system.local and flush immediately after startup (CASSANDRA-18153) - * Fix the ordering of sstables when running sstableupgrade tool (CASSANDRA-18143) - * Fix default file system error handler for disk_failure_policy die (CASSANDRA-18294) -4.0.8 +4.1.1 + * Deprecate org.apache.cassandra.hadoop code (CASSANDRA-16984) + * Fix too early schema version change in sysem local table (CASSANDRA-18291) + * Fix copying of JAR of a trigger to temporary file (CASSANDRA-18264) + * Fix possible NoSuchFileException when removing a snapshot (CASSANDRA-18211) + * PaxosPrepare may add instances to the Electorate that are not in gossip (CASSANDRA-18194) + * Fix PAXOS2_COMMIT_AND_PREPARE_RSP serialisation AssertionError (CASSANDRA-18164) + * Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT and fail streaming (CASSANDRA-18110) + * Fix perpetual load of denylist on read in cases where denylist can never be loaded (CASSANDRA-18116) +Merged from 4.0: + * Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311) + * Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125) + * Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259) + * Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242) * Log warning message on aggregation queries without key or on multiple keys (CASSANDRA-18219) * Fix the output of FQL dump tool to properly separate entries (CASSANDRA-18215) * Add cache type information for maximum memory usage warning message (CASSANDRA-18184) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. maedhroz pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 03806f95e427384107b3e943a73f1b2273b7f749 Merge: 14936d0bd3 853ae8c840 Author: Caleb Rackliffe AuthorDate: Fri Mar 31 11:58:59 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: Avoid loading the preferred IP for BulkLoader streaming - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. jlewandowski pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 14936d0bd3716ed251e799a264f5ab16d51b893b Merge: 780f8b94ff 4b9c18235a Author: Jacek Lewandowski AuthorDate: Fri Mar 31 17:30:20 2023 +0200 Merge branch 'cassandra-4.0' into cassandra-4.1 * cassandra-4.0: Save host id to system.local and flush immediately after startup CHANGES.txt| 5 +- .../org/apache/cassandra/db/SystemKeyspace.java| 23 ++- .../apache/cassandra/db/commitlog/CommitLog.java | 47 -- .../cassandra/db/compaction/CompactionManager.java | 76 +++-- .../apache/cassandra/service/StorageService.java | 173 - .../cassandra/tools/SSTableMetadataViewer.java | 31 ++-- .../cassandra/distributed/impl/Instance.java | 12 +- .../cassandra/distributed/impl/InstanceConfig.java | 4 +- .../distributed/test/IPMembershipTest.java | 4 + .../distributed/test/SSTableIdGenerationTest.java | 24 +-- .../unit/org/apache/cassandra/db/KeyCacheTest.java | 2 - .../cassandra/db/compaction/NeverPurgeTest.java| 8 +- 12 files changed, 302 insertions(+), 107 deletions(-) diff --cc CHANGES.txt index dec7f680f2,675d423080..c12983568e --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,21 -1,4 +1,24 @@@ -4.0.9 +4.1.2 + * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371) + * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359) + * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304) + * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353) + * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354) - ++Merged from 4.0: ++Merged from 3.11: ++Merged from 3.0: ++ * Save host id to system.local and flush immediately after startup (CASSANDRA-18153) + +4.1.1 + * Deprecate org.apache.cassandra.hadoop code (CASSANDRA-16984) + * Fix too early schema version change in sysem local table (CASSANDRA-18291) + * Fix copying of JAR of a trigger to temporary file (CASSANDRA-18264) + * Fix possible NoSuchFileException when removing a snapshot (CASSANDRA-18211) + * PaxosPrepare may add instances to the Electorate that are not in gossip (CASSANDRA-18194) + * Fix PAXOS2_COMMIT_AND_PREPARE_RSP serialisation AssertionError (CASSANDRA-18164) + * Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT and fail streaming (CASSANDRA-18110) + * Fix perpetual load of denylist on read in cases where denylist can never be loaded (CASSANDRA-18116) +Merged from 4.0: * Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311) * Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125) * Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259) diff --cc src/java/org/apache/cassandra/db/SystemKeyspace.java index 1523720d53,d63ee77736..fd2145b30c --- a/src/java/org/apache/cassandra/db/SystemKeyspace.java +++ b/src/java/org/apache/cassandra/db/SystemKeyspace.java @@@ -559,7 -498,18 +561,13 @@@ public final class SystemKeyspac DECOMMISSIONED } -public static void finishStartup() -{ -Schema.instance.saveSystemKeyspace(); -} - public static void persistLocalMetadata() + { + persistLocalMetadata(UUID::randomUUID); + } + + @VisibleForTesting + public static void persistLocalMetadata(Supplier nodeIdSupplier) { String req = "INSERT INTO system.%s (" + "key," + diff --cc src/java/org/apache/cassandra/db/commitlog/CommitLog.java index a832b5ea42,49eb67b1df..6195b1b4ca --- a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java @@@ -17,19 -17,23 +17,25 @@@ */ package org.apache.cassandra.db.commitlog; - -import java.io.File; -import java.io.FilenameFilter; import java.io.IOException; import java.nio.ByteBuffer; +import java.nio.file.FileStore; - import java.util.*; + import java.util.ArrayList; + import java.util.Arrays; + import java.util.Collection; + import java.util.Collections; + import java.util.Iterator; + import java.util.List; + import java.util.Map; + import java.util.TreeMap; + import java.util.UUID; +import java.util.concurrent.TimeUnit; +import java.util.function.BiPredicate; import java.util.function.Function; import java.util.zip.CRC32; import com.google.common.annotations.VisibleForTesting; - import org.apache.cassandra.io.util.File; +import com.google.common.base.Preconditions; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@@ -43,7 -47,7 +49,8 @@@ import org.apache.cassandra.io.compress import
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 780f8b94ffe32c385e7269b8e6ac13d47baa4a32 Merge: 5fa2f87741 5f61645778 Author: Brandon Williams AuthorDate: Wed Mar 29 06:32:20 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 .asf.yaml | 8 1 file changed, 8 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 5fa2f877417e138d1b62320f1a23c50be68dafa4 Merge: 6f401a8725 5b877b9d2b Author: Brandon Williams AuthorDate: Wed Mar 29 06:26:40 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 .asf.yaml | 3 +++ 1 file changed, 3 insertions(+) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. adelapena pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit bfc7621c8c4fa6fae87b535558c4a19cebe05a98 Merge: af82b941a8 2aedb58123 Author: Andrés de la Peña AuthorDate: Fri Mar 10 11:52:40 2023 + Merge branch 'cassandra-4.0' into cassandra-4.1 .circleci/config-2_1.yml.high_res.patch| 155 - .circleci/{config.yml.LOWRES => config.yml.FREE} | 0 .circleci/config.yml.HIGHRES | 10242 --- .circleci/{config.yml.MIDRES => config.yml.PAID} | 0 .circleci/{config-2_1.yml => config_template.yml} | 0 ...id_res.patch => config_template.yml.PAID.patch} | 0 .circleci/generate.sh | 107 +- .circleci/readme.md|98 +- 8 files changed, 93 insertions(+), 10509 deletions(-) diff --cc .circleci/generate.sh index bf808dcaad,4fee247607..29f66a2151 --- a/.circleci/generate.sh +++ b/.circleci/generate.sh @@@ -64,13 -61,12 +63,13 @@@ print_help( echo " -e REPEATED_ANT_TEST_TARGET=testsome" echo " -e REPEATED_ANT_TEST_CLASS=org.apache.cassandra.cql3.ViewTest" echo " -e REPEATED_ANT_TEST_METHODS=testCompoundPartitionKey,testStaticTable" + echo " -e REPEATED_ANT_TEST_VNODES=false" echo " -e REPEATED_ANT_TEST_COUNT=500" echo " For the complete list of environment variables, please check the" - echo " list of examples in config-2_1.yml and/or the documentation." + echo " list of examples in config_template.yml and/or the documentation." echo " If you want to specify multiple environment variables simply add" - echo " multiple -e options. The flags -l/-m/-h should be used when using -e." - echo " -f Stop checking that the environment variables are known" + echo " multiple -e options. The flags -f/-p should be used when using -e." + echo " -i Ignore unknown environment variables" } all=false @@@ -84,13 -79,11 +82,11 @@@ while getopts "e:afpi" opt; d case $opt in a ) all=true ;; - l ) lowres=true + f ) free=true ;; - m ) midres=true - ;; - h ) highres=true + p ) paid=true ;; - e ) if (!($has_env_vars)); then + e ) if (! ($has_env_vars)); then env_vars="$OPTARG" else env_vars="$env_vars|$OPTARG" @@@ -145,54 -135,42 +141,42 @@@ if $has_env_vars && $check_env_vars; th done fi - if $lowres; then - ($all || $midres || $highres) && die "Cannot use option -l with options -a, -m or -h" - echo "Generating new config.yml file with low resources from config-2_1.yml" - circleci config process $BASEDIR/config-2_1.yml > $BASEDIR/config.yml.LOWRES.tmp - cat $BASEDIR/license.yml $BASEDIR/config.yml.LOWRES.tmp > $BASEDIR/config.yml - rm $BASEDIR/config.yml.LOWRES.tmp - - elif $midres; then - ($all || $lowres || $highres) && die "Cannot use option -m with options -a, -l or -h" - echo "Generating new config.yml file with middle resources from config-2_1.yml" - patch -o $BASEDIR/config-2_1.yml.MIDRES $BASEDIR/config-2_1.yml $BASEDIR/config-2_1.yml.mid_res.patch - circleci config process $BASEDIR/config-2_1.yml.MIDRES > $BASEDIR/config.yml.MIDRES.tmp - cat $BASEDIR/license.yml $BASEDIR/config.yml.MIDRES.tmp > $BASEDIR/config.yml - rm $BASEDIR/config-2_1.yml.MIDRES $BASEDIR/config.yml.MIDRES.tmp + if $free; then + ($all || $paid) && die "Cannot use option -f with options -a or -p" + echo "Generating new config.yml file for free tier from config_template.yml" + circleci config process $BASEDIR/config_template.yml > $BASEDIR/config.yml.FREE.tmp + cat $BASEDIR/license.yml $BASEDIR/config.yml.FREE.tmp > $BASEDIR/config.yml + rm $BASEDIR/config.yml.FREE.tmp - elif $highres; then - ($all || $lowres || $midres) && die "Cannot use option -h with options -a, -l or -m" - echo "Generating new config.yml file with high resources from config-2_1.yml" - patch -o $BASEDIR/config-2_1.yml.HIGHRES $BASEDIR/config-2_1.yml $BASEDIR/config-2_1.yml.high_res.patch - circleci config process $BASEDIR/config-2_1.yml.HIGHRES > $BASEDIR/config.yml.HIGHRES.tmp - cat $BASEDIR/license.yml $BASEDIR/config.yml.HIGHRES.tmp > $BASEDIR/config.yml - rm $BASEDIR/config-2_1.yml.HIGHRES $BASEDIR/config.yml.HIGHRES.tmp + elif $paid; then + ($all || $free) && die "Cannot use option -p with options -a or -f" + echo "Generating new config.yml file for paid tier from config_template.yml" + patch -o $BASEDIR/config_template.yml.PAID $BASEDIR/config_template.yml $BASEDIR/config_template.yml.PAID.patch + circleci config process $BASEDIR/config_template.yml.PAID >
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 0ea1d384d45765f8c8b1dbed8e7ce5595ca92412 Merge: 5f7175d59d a874e02eec Author: Brandon Williams AuthorDate: Thu Mar 9 10:03:42 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../cassandra/service/DefaultFSErrorHandler.java | 2 + ...ava => JVMStabilityInspectorThrowableTest.java} | 75 +--- .../service/DefaultFSErrorHandlerTest.java | 121 ++ .../cassandra/service/DiskFailurePolicyTest.java | 135 + .../org/apache/cassandra/utils/KillerForTests.java | 5 + 6 files changed, 323 insertions(+), 16 deletions(-) diff --cc CHANGES.txt index ae1a1a46e9,3aadd0c78c..beea5ba21f --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -23,8 -20,13 +23,9 @@@ Merged from 4.0 * Fix sstable loading of keyspaces named snapshots or backups (CASSANDRA-14013) * Avoid ConcurrentModificationException in STCS/DTCS/TWCS.getSSTables (CASSANDRA-17977) * Restore internode custom tracing on 4.0's new messaging system (CASSANDRA-17981) - * Harden parsing of boolean values in CQL in PropertyDefinitions (CASSANDRA-17878) - * Fix error message about type hints (CASSANDRA-17915) - * Fix possible race condition on repair snapshots (CASSANDRA-17955) - * Fix ASM bytecode version inconsistency (CASSANDRA-17873) Merged from 3.11: - * Fix Splitter sometimes creating more splits than requested (CASSANDRA-18013) Merged from 3.0: ++ * Fix default file system error handler for disk_failure_policy die (CASSANDRA-18294) * Introduce check for names of test classes (CASSANDRA-17964) * Suppress CVE-2022-41915 (CASSANDRA-18147) * Suppress CVE-2021-1471, CVE-2021-3064, CVE-2021-4235 (CASSANDRA-18149) diff --cc test/distributed/org/apache/cassandra/distributed/test/JVMStabilityInspectorThrowableTest.java index 1bf2d22d1e,f8b9f010c8..665d58c12a --- a/test/distributed/org/apache/cassandra/distributed/test/JVMStabilityInspectorThrowableTest.java +++ b/test/distributed/org/apache/cassandra/distributed/test/JVMStabilityInspectorThrowableTest.java @@@ -24,8 -26,9 +26,10 @@@ import java.util.Set import org.junit.Assert; import org.junit.Test; + import org.junit.runner.RunWith; + import org.junit.runners.Parameterized; +import org.apache.cassandra.Util; import org.apache.cassandra.config.Config.DiskFailurePolicy; import org.apache.cassandra.db.ColumnFamilyStore; import org.apache.cassandra.db.DecoratedKey; @@@ -73,7 -102,6 +104,8 @@@ public class JVMStabilityInspectorThrow String table = policy.name(); try (final Cluster cluster = init(getCluster(policy).start())) { - cluster.setUncaughtExceptionsFilter(t -> Throwables.anyCauseMatches(t, t2 -> t2.getClass().getCanonicalName().equals(CorruptSSTableException.class.getCanonicalName(; ++cluster.setUncaughtExceptionsFilter(t -> Throwables.anyCauseMatches( ++t, t2 -> Arrays.asList(CorruptSSTableException.class.getCanonicalName(), FSReadError.class.getCanonicalName()).contains(t2.getClass().getCanonicalName(; IInvokableInstance node = cluster.get(1); boolean[] setup = node.callOnInstance(() -> { CassandraDaemon instanceForTesting = CassandraDaemon.getInstanceForTesting(); @@@ -190,15 -220,19 +224,19 @@@ } @Override -public UnfilteredRowIterator iterator(DecoratedKey key, Slices slices, ColumnFilter selectedColumns, boolean reversed, SSTableReadsListener listener) +public UnfilteredRowIterator rowIterator(DecoratedKey key, Slices slices, ColumnFilter selectedColumns, boolean reversed, SSTableReadsListener listener) { - throw throwCorrupted(); + if (shouldThrowCorrupted) + throw throwCorrupted(); + throw throwFSError(); } @Override -public UnfilteredRowIterator iterator(FileDataInput file, DecoratedKey key, RowIndexEntry indexEntry, Slices slices, ColumnFilter selectedColumns, boolean reversed) +public UnfilteredRowIterator rowIterator(FileDataInput file, DecoratedKey key, RowIndexEntry indexEntry, Slices slices, ColumnFilter selectedColumns, boolean reversed) { - throw throwCorrupted(); + if (shouldThrowCorrupted) + throw throwCorrupted(); + throw throwFSError(); } private CorruptSSTableException throwCorrupted() - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. jonmeredith pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 6adcff8f30f445ddd7f0aeb60d72c5a15430aefe Merge: 426829cf57 40f9ca60f1 Author: Jon Meredith AuthorDate: Tue Mar 7 10:28:41 2023 -0700 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../db/memtable/AbstractAllocatorMemtable.java | 13 +- .../db/partitions/AtomicBTreePartition.java| 13 +- .../org/apache/cassandra/db/rows/ArrayCell.java| 2 +- .../org/apache/cassandra/db/rows/BTreeRow.java | 7 +- .../org/apache/cassandra/db/rows/BufferCell.java | 2 +- .../org/apache/cassandra/db/rows/ColumnData.java | 51 ++- .../cassandra/db/rows/ComplexColumnData.java | 4 +- .../org/apache/cassandra/db/rows/NativeCell.java | 19 +- src/java/org/apache/cassandra/db/rows/Row.java | 8 + .../org/apache/cassandra/utils/btree/BTree.java| 17 +- .../cassandra/utils/memory/MemtablePool.java | 2 +- ...AtomicBTreePartitionMemtableAccountingTest.java | 421 + 13 files changed, 525 insertions(+), 35 deletions(-) diff --cc CHANGES.txt index 1ca7c2f89a,f2064c098e..7c66dda361 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,13 -1,11 +1,14 @@@ -4.0.9 +4.1.1 + * Fix copying of JAR of a trigger to temporary file (CASSANDRA-18264) + * Fix possible NoSuchFileException when removing a snapshot (CASSANDRA-18211) + * PaxosPrepare may add instances to the Electorate that are not in gossip (CASSANDRA-18194) + * Fix PAXOS2_COMMIT_AND_PREPARE_RSP serialisation AssertionError (CASSANDRA-18164) + * Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT and fail streaming (CASSANDRA-18110) + * Fix perpetual load of denylist on read in cases where denylist can never be loaded (CASSANDRA-18116) +Merged from 4.0: + * Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125) * Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259) * Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242) -Merged from 3.11: -Merged from 3.0: - -4.0.8 * Log warning message on aggregation queries without key or on multiple keys (CASSANDRA-18219) * Fix the output of FQL dump tool to properly separate entries (CASSANDRA-18215) * Add cache type information for maximum memory usage warning message (CASSANDRA-18184) diff --cc src/java/org/apache/cassandra/db/memtable/AbstractAllocatorMemtable.java index 227cc6dcc2,00..ae1251646e mode 100644,00..100644 --- a/src/java/org/apache/cassandra/db/memtable/AbstractAllocatorMemtable.java +++ b/src/java/org/apache/cassandra/db/memtable/AbstractAllocatorMemtable.java @@@ -1,306 -1,0 +1,317 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.cassandra.db.memtable; + +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; + ++import com.google.common.annotations.VisibleForTesting; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.cassandra.concurrent.ImmediateExecutor; +import org.apache.cassandra.concurrent.ScheduledExecutors; ++import org.apache.cassandra.config.Config; +import org.apache.cassandra.config.DatabaseDescriptor; +import org.apache.cassandra.db.ClusteringComparator; +import org.apache.cassandra.db.ColumnFamilyStore; +import org.apache.cassandra.db.commitlog.CommitLogPosition; +import org.apache.cassandra.schema.TableMetadataRef; +import org.apache.cassandra.utils.Clock; +import org.apache.cassandra.utils.FBUtilities; +import org.apache.cassandra.utils.WrappedRunnable; +import org.apache.cassandra.utils.concurrent.AsyncPromise; +import org.apache.cassandra.utils.concurrent.Future; +import org.apache.cassandra.utils.concurrent.OpOrder; +import org.apache.cassandra.utils.concurrent.Promise; +import org.apache.cassandra.utils.memory.HeapPool; +import org.apache.cassandra.utils.memory.MemtableAllocator; +import org.apache.cassandra.utils.memory.MemtableCleaner; +import
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 426829cf57a6835d3b5192629bf4869fd9cec919 Merge: 474e778bcc ccede05bf5 Author: Brandon Williams AuthorDate: Fri Feb 24 12:32:31 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/dependency-check-suppressions.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 474e778bcc2ed11a6a8acbe5a790b26b3d7585b8 Merge: 9860c1e9d9 1d532bce7b Author: Brandon Williams AuthorDate: Wed Feb 22 10:25:24 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 NOTICE.txt | 2 +- build.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. jonmeredith pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit b728a0011bce9d1881128144d6027f7ca2caaa55 Merge: a49efd8b44 3a4fff38b5 Author: Jon Meredith AuthorDate: Thu Feb 16 15:07:55 2023 -0700 Merge branch 'cassandra-4.0' into cassandra-4.1 build.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. jonmeredith pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 5c4c7b69aa7578544d97d453ed3502dbdf1d67c0 Merge: f345ee8a4e 4e0aad3319 Author: Jon Meredith AuthorDate: Mon Feb 13 17:43:24 2023 -0700 Merge branch 'cassandra-4.0' into cassandra-4.1 ide/idea/workspace.xml | 43 --- 1 file changed, 40 insertions(+), 3 deletions(-) diff --cc ide/idea/workspace.xml index 6122ffc7a9,5f28853c98..f30a44ade3 --- a/ide/idea/workspace.xml +++ b/ide/idea/workspace.xml @@@ -143,7 -143,14 +143,15 @@@ - + @@@ -173,7 -180,25 +181,26 @@@ - @@@ -193,7 -218,16 +220,17 @@@ - + - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 209ba28b4dc5abb32d053d2d9d2605076163d32c Merge: bede10f36c 0c58fbb8dd Author: Brandon Williams AuthorDate: Thu Feb 2 11:46:31 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + src/java/org/apache/cassandra/utils/memory/BufferPool.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --cc CHANGES.txt index aeee3abf4d,ae1135b049..6d7c25f620 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,9 -1,5 +1,10 @@@ -4.0.8 +4.1.1 + * PaxosPrepare may add instances to the Electorate that are not in gossip (CASSANDRA-18194) + * Fix PAXOS2_COMMIT_AND_PREPARE_RSP serialisation AssertionError (CASSANDRA-18164) + * Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT and fail streaming (CASSANDRA-18110) + * Fix perpetual load of denylist on read in cases where denylist can never be loaded (CASSANDRA-18116) +Merged from 4.0: + * Add cache type information for maximum memory usage warning message (CASSANDRA-18184) * Fix NPE in fqltool dump on null value (CASSANDRA-18113) * Improve unit tests performance (CASSANDRA-17427) * Connect to listen address when own broadcast address is requested (CASSANDRA-18200) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit a4799890208f442bc1ed134167e691cf1edfceab Merge: f18ffe1b97 ef2066fe60 Author: Brandon Williams AuthorDate: Mon Jan 30 15:49:30 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 doc/scripts/gen-nodetool-docs.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 5dbeee258c761c3cdc16008cbfcfff5d3063a822 Merge: b81d39306c 0b7e3a8ee7 Author: Brandon Williams AuthorDate: Mon Jan 30 07:05:42 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt | 1 + src/java/org/apache/cassandra/net/OutboundConnectionSettings.java | 2 ++ 2 files changed, 3 insertions(+) diff --cc CHANGES.txt index 20afe6819e,806284588b..6110d2d8d4 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,9 -1,5 +1,10 @@@ -4.0.8 +4.1.1 + * PaxosPrepare may add instances to the Electorate that are not in gossip (CASSANDRA-18194) + * Fix PAXOS2_COMMIT_AND_PREPARE_RSP serialisation AssertionError (CASSANDRA-18164) + * Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT and fail streaming (CASSANDRA-18110) + * Fix perpetual load of denylist on read in cases where denylist can never be loaded (CASSANDRA-18116) +Merged from 4.0: + * Connect to listen address when own broadcast address is requested (CASSANDRA-18200) * Add safeguard so cleanup fails when node has pending ranges (CASSANDRA-16418) * Fix legacy clustering serialization for paging with compact storage (CASSANDRA-17507) * Add support for python 3.11 (CASSANDRA-18088) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 60f5efe4536e43ea8dd00cee2ee332e17534a505 Merge: 057edbe92e c2e9e0d841 Author: Brandon Williams AuthorDate: Wed Jan 25 15:16:46 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 doc/scripts/gen-nodetool-docs.py | 26 +++--- 1 file changed, 23 insertions(+), 3 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 057edbe92e508006c84e610b2e7043d9488eebb6 Merge: 53156c24e1 299ead7534 Author: Brandon Williams AuthorDate: Tue Jan 24 12:26:51 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/dependency-check-suppressions.xml | 4 CHANGES.txt | 1 + 2 files changed, 5 insertions(+) diff --cc CHANGES.txt index 8db58bb2ab,025f710a4a..a29c9e008b --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -10,8 -6,14 +10,9 @@@ Merged from 4.0 * Fix sstable loading of keyspaces named snapshots or backups (CASSANDRA-14013) * Avoid ConcurrentModificationException in STCS/DTCS/TWCS.getSSTables (CASSANDRA-17977) * Restore internode custom tracing on 4.0's new messaging system (CASSANDRA-17981) - * Harden parsing of boolean values in CQL in PropertyDefinitions (CASSANDRA-17878) - * Fix error message about type hints (CASSANDRA-17915) - * Fix possible race condition on repair snapshots (CASSANDRA-17955) - * Fix ASM bytecode version inconsistency (CASSANDRA-17873) Merged from 3.11: - * Fix Splitter sometimes creating more splits than requested (CASSANDRA-18013) Merged from 3.0: + * Suppress CVE-2021-1471, CVE-2021-3064, CVE-2021-4235 (CASSANDRA-18149) * Switch to snakeyaml's SafeConstructor (CASSANDRA-18150) * Expand build.dir property in rat targets (CASSANDRA-18183) * Suppress CVE-2022-41881 (CASSANDRA-18148) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 53156c24e1b87b408e15b242a3ec73ad955095d7 Merge: da2dd2bfbc 5f54d64c78 Author: Brandon Williams AuthorDate: Tue Jan 24 06:34:17 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt | 1 + src/java/org/apache/cassandra/config/YamlConfigurationLoader.java | 8 2 files changed, 5 insertions(+), 4 deletions(-) diff --cc CHANGES.txt index fc8eac05dc,0c0b1801c6..8db58bb2ab --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -10,8 -6,14 +10,9 @@@ Merged from 4.0 * Fix sstable loading of keyspaces named snapshots or backups (CASSANDRA-14013) * Avoid ConcurrentModificationException in STCS/DTCS/TWCS.getSSTables (CASSANDRA-17977) * Restore internode custom tracing on 4.0's new messaging system (CASSANDRA-17981) - * Harden parsing of boolean values in CQL in PropertyDefinitions (CASSANDRA-17878) - * Fix error message about type hints (CASSANDRA-17915) - * Fix possible race condition on repair snapshots (CASSANDRA-17955) - * Fix ASM bytecode version inconsistency (CASSANDRA-17873) Merged from 3.11: - * Fix Splitter sometimes creating more splits than requested (CASSANDRA-18013) Merged from 3.0: + * Switch to snakeyaml's SafeConstructor (CASSANDRA-18150) * Expand build.dir property in rat targets (CASSANDRA-18183) * Suppress CVE-2022-41881 (CASSANDRA-18148) * Default role is created with zero timestamp (CASSANDRA-12525) diff --cc src/java/org/apache/cassandra/config/YamlConfigurationLoader.java index 1dcd595080,48af78bb1f..528accdb74 --- a/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java +++ b/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java @@@ -133,9 -125,9 +133,9 @@@ public class YamlConfigurationLoader im throw new AssertionError(e); } - Constructor constructor = new CustomConstructor(Config.class, Yaml.class.getClassLoader()); - + SafeConstructor constructor = new CustomConstructor(Config.class, Yaml.class.getClassLoader()); Map, Map> replacements = getNameReplacements(Config.class); +verifyReplacements(replacements, configBytes); PropertiesChecker propertiesChecker = new PropertiesChecker(replacements); constructor.setPropertyUtils(propertiesChecker); Yaml yaml = new Yaml(constructor); @@@ -216,43 -151,8 +216,43 @@@ @SuppressWarnings("unchecked") //getSingleData returns Object, not T public static T fromMap(Map map, boolean shouldCheck, Class klass) { - Constructor constructor = new YamlConfigurationLoader.CustomConstructor(klass, klass.getClassLoader()); + SafeConstructor constructor = new YamlConfigurationLoader.CustomConstructor(klass, klass.getClassLoader()); Map, Map> replacements = getNameReplacements(Config.class); +verifyReplacements(replacements, map); +YamlConfigurationLoader.PropertiesChecker propertiesChecker = new YamlConfigurationLoader.PropertiesChecker(replacements); +constructor.setPropertyUtils(propertiesChecker); +Yaml yaml = new Yaml(constructor); +Node node = yaml.represent(map); +constructor.setComposer(new Composer(null, null) +{ +@Override +public Node getSingleNode() +{ +return node; +} +}); +T value = (T) constructor.getSingleData(klass); +if (shouldCheck) +propertiesChecker.check(); +maybeAddSystemProperties(value); +return value; +} + +public static T updateFromMap(Map map, boolean shouldCheck, T obj) +{ +Class klass = (Class) obj.getClass(); - Constructor constructor = new YamlConfigurationLoader.CustomConstructor(klass, klass.getClassLoader()) ++SafeConstructor constructor = new YamlConfigurationLoader.CustomConstructor(klass, klass.getClassLoader()) +{ +@Override +protected Object newInstance(Node node) +{ +if (node.getType() == obj.getClass()) +return obj; +return super.newInstance(node); +} +}; +Map, Map> replacements = getNameReplacements(Config.class); +verifyReplacements(replacements, map); YamlConfigurationLoader.PropertiesChecker propertiesChecker = new YamlConfigurationLoader.PropertiesChecker(replacements); constructor.setPropertyUtils(propertiesChecker); Yaml yaml = new Yaml(constructor); - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail:
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. paulo pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit da2dd2bfbc977811214c86a04ba9b3ae6dbf0ba3 Merge: 5c93731eee 8bb9c72f58 Author: Paulo Motta AuthorDate: Mon Jan 23 17:27:32 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../cassandra/db/compaction/CompactionManager.java | 6 +- .../apache/cassandra/service/StorageService.java | 4 + .../cassandra/distributed/action/GossipHelper.java | 12 +++ .../distributed/test/ring/CleanupFailureTest.java | 111 + test/unit/org/apache/cassandra/db/CleanupTest.java | 6 +- 6 files changed, 133 insertions(+), 7 deletions(-) diff --cc CHANGES.txt index 05d2ab8019,789d8f7fa8..fc8eac05dc --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,8 -1,5 +1,9 @@@ -4.0.8 +4.1.1 + * Fix PAXOS2_COMMIT_AND_PREPARE_RSP serialisation AssertionError (CASSANDRA-18164) + * Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT and fail streaming (CASSANDRA-18110) + * Fix perpetual load of denylist on read in cases where denylist can never be loaded (CASSANDRA-18116) +Merged from 4.0: + * Add safeguard so cleanup fails when node has pending ranges (CASSANDRA-16418) * Fix legacy clustering serialization for paging with compact storage (CASSANDRA-17507) * Add support for python 3.11 (CASSANDRA-18088) * Fix formatting of duration in cqlsh (CASSANDRA-18141) diff --cc src/java/org/apache/cassandra/service/StorageService.java index b39c049c88,343f435f11..b0aa50caff --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@@ -161,10 -131,8 +161,11 @@@ import static org.apache.cassandra.inde import static org.apache.cassandra.index.SecondaryIndexManager.isIndexColumnFamily; import static org.apache.cassandra.net.NoPayload.noPayload; import static org.apache.cassandra.net.Verb.REPLICATION_DONE_REQ; -import static org.apache.cassandra.schema.MigrationManager.evolveSystemKeyspace; +import static org.apache.cassandra.service.ActiveRepairService.*; +import static org.apache.cassandra.utils.Clock.Global.currentTimeMillis; +import static org.apache.cassandra.utils.Clock.Global.nanoTime; +import static org.apache.cassandra.utils.FBUtilities.now; + import static org.apache.cassandra.utils.FBUtilities.getBroadcastAddressAndPort; /** * This abstraction contains the token/identifier of this node - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit b9b18aa5a2a1f6ddafc45193ed1c36e9417e093e Merge: 6c96e2fd41 7377e16121 Author: Brandon Williams AuthorDate: Mon Jan 23 06:57:09 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/dependency-check-suppressions.xml | 1 + CHANGES.txt | 1 + 2 files changed, 2 insertions(+) diff --cc CHANGES.txt index 340ba11ea5,baae04c3de..a0d64b0fc0 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -9,8 -5,14 +9,9 @@@ Merged from 4.0 * Fix sstable loading of keyspaces named snapshots or backups (CASSANDRA-14013) * Avoid ConcurrentModificationException in STCS/DTCS/TWCS.getSSTables (CASSANDRA-17977) * Restore internode custom tracing on 4.0's new messaging system (CASSANDRA-17981) - * Harden parsing of boolean values in CQL in PropertyDefinitions (CASSANDRA-17878) - * Fix error message about type hints (CASSANDRA-17915) - * Fix possible race condition on repair snapshots (CASSANDRA-17955) - * Fix ASM bytecode version inconsistency (CASSANDRA-17873) Merged from 3.11: - * Fix Splitter sometimes creating more splits than requested (CASSANDRA-18013) Merged from 3.0: + * Suppress CVE-2022-41881 (CASSANDRA-18148) * Default role is created with zero timestamp (CASSANDRA-12525) * Suppress CVE-2021-37533 (CASSANDRA-18146) * Add to the IntelliJ Git Window issue navigation links to Cassandra's Jira (CASSANDRA-18126) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. adelapena pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 6c96e2fd41368323844a080d806cbbb7b7fc9790 Merge: 5086b7d0a7 9a0af4112e Author: Andrés de la Peña AuthorDate: Mon Jan 23 11:42:24 2023 + Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + NEWS.txt | 9 +- .../cassandra/service/pager/PagingState.java | 8 + .../CompactStoragePagingWithProtocolTester.java| 179 + .../CompactStoragePagingWithProtocolV30Test.java | 33 .../CompactStoragePagingWithProtocolV3XTest.java | 33 .../CompactStoragePagingWithProtocolV40Test.java | 33 7 files changed, 295 insertions(+), 1 deletion(-) diff --cc CHANGES.txt index ed0e5dc731,f032fc390e..340ba11ea5 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,8 -1,5 +1,9 @@@ -4.0.8 +4.1.1 + * Fix PAXOS2_COMMIT_AND_PREPARE_RSP serialisation AssertionError (CASSANDRA-18164) + * Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT and fail streaming (CASSANDRA-18110) + * Fix perpetual load of denylist on read in cases where denylist can never be loaded (CASSANDRA-18116) +Merged from 4.0: + * Fix legacy clustering serialization for paging with compact storage (CASSANDRA-17507) * Add support for python 3.11 (CASSANDRA-18088) * Fix formatting of duration in cqlsh (CASSANDRA-18141) * Fix sstable loading of keyspaces named snapshots or backups (CASSANDRA-14013) diff --cc NEWS.txt index c1dfbd8127,4915652351..6dea4a07a0 --- a/NEWS.txt +++ b/NEWS.txt @@@ -51,20 -51,57 +51,27 @@@ restore snapshots created with the prev 'sstableloader' tool. You can upgrade the file format of your snapshots using the provided 'sstableupgrade' tool. -4.0.8 -= - -New features - - -Upgrading -- -- All previous versions of 4.x contained a mistake on the implementation of the old CQL native protocol v3. That -mistake produced issues when paging over tables with compact storage and a single clustering column during rolling -upgrades involving 3.x and 4.x nodes. The fix for that issue makes it can now appear during rolling upgrades from -4.0.0-4.0.7. If that is your case, please use protocol v4 or higher in your driver. See CASSANDRA-17507 for further -details. - -4.0.6 -= - -New features - - - -Upgrading -- -- If you haven't set the compaction_thoroughput_mb_per_sec in your 4.0 cassandra.yaml file but you relied on the internal - default value,then compaction_throughput_mb_per_sec was equal to an old default value of 16MiB/s in Cassandra 4.0. - After CASSANDRA-17790 this is changed to 64MiB/s to match the default value in cassandra.yaml. If you prefer the old - one of 16MiB/s, you need to set it explicitly in your cassandra.yaml file. - -Deprecation -- -4.0.3 +4.1.1 - === + = -New features - - +G1GC Recommended + +- The G1 settings in jvm8-server.options and jvm11-server.options are updated according to broad feedback + and testing. The G1 settings remain commented out by default in 4.1.x. It is recommended to switch + to G1 for performance and for simpler GC tuning. CMS is already deprecated in JDK9, and the next major + release of Cassandra makes G1 the default configuration. + Upgrading + - -- otc_coalescing_strategy, otc_coalescing_window_us, otc_coalescing_enough_coalesced_messages, - otc_backlog_expiration_interval_ms are deprecated and will be removed at earliest with next major release. - otc_coalescing_strategy is disabled since 3.11. - -Deprecation -- -- JavaScript user-defined functions have been deprecated. They are planned for removal - in the next major release. (CASSANDRA-17280) ++- All previous versions of 4.x contained a mistake on the implementation of the old CQL native protocol v3. That ++ mistake produced issues when paging over tables with compact storage and a single clustering column during rolling ++ upgrades involving 3.x and 4.x nodes. The fix for that issue makes it can now appear during rolling upgrades from ++ 4.1.0 or 4.0.0-4.0.7. If that is your case, please use protocol v4 or higher in your driver. See CASSANDRA-17507 ++ for further details. -4.0.2 -= +4.1 +=== New features diff --cc test/distributed/org/apache/cassandra/distributed/upgrade/CompactStoragePagingWithProtocolTester.java index 00,2683e7d4d3..6dd3bd9f64 mode 00,100644..100644 --- a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStoragePagingWithProtocolTester.java +++
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit be61ad9d0371e4a2bbc8cfb664a334826a8bd088 Merge: 0ac3c55d65 175272fff4 Author: Brandon Williams AuthorDate: Tue Jan 17 14:31:11 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + pylib/cqlshlib/formatting.py | 2 +- pylib/cqlshlib/test/test_cqlsh_output.py | 29 ++--- pylib/cqlshlib/test/test_keyspace_init.cql | 17 + 4 files changed, 37 insertions(+), 12 deletions(-) diff --cc CHANGES.txt index 5b0da3ae7d,87455991cd..9c20fa4823 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,7 -1,5 +1,8 @@@ -4.0.8 +4.1.1 + * Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT and fail streaming (CASSANDRA-18110) + * Fix perpetual load of denylist on read in cases where denylist can never be loaded (CASSANDRA-18116) +Merged from 4.0: + * Fix formatting of duration in cqlsh (CASSANDRA-18141) * Fix sstable loading of keyspaces named snapshots or backups (CASSANDRA-14013) * Avoid ConcurrentModificationException in STCS/DTCS/TWCS.getSSTables (CASSANDRA-17977) * Restore internode custom tracing on 4.0's new messaging system (CASSANDRA-17981) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 0ac3c55d65f81dae917547c377f5505938d7e653 Merge: c9968a8e95 ac8ddfb321 Author: Brandon Williams AuthorDate: Tue Jan 17 09:58:59 2023 -0600 Merge branch 'cassandra-4.0' into cassandra-4.1 .build/dependency-check-suppressions.xml | 17 + CHANGES.txt | 1 + 2 files changed, 18 insertions(+) diff --cc CHANGES.txt index 017e5748b9,0f2d9e9812..5b0da3ae7d --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -5,8 -2,14 +5,9 @@@ Merged from 4.0 * Fix sstable loading of keyspaces named snapshots or backups (CASSANDRA-14013) * Avoid ConcurrentModificationException in STCS/DTCS/TWCS.getSSTables (CASSANDRA-17977) * Restore internode custom tracing on 4.0's new messaging system (CASSANDRA-17981) - * Harden parsing of boolean values in CQL in PropertyDefinitions (CASSANDRA-17878) - * Fix error message about type hints (CASSANDRA-17915) - * Fix possible race condition on repair snapshots (CASSANDRA-17955) - * Fix ASM bytecode version inconsistency (CASSANDRA-17873) Merged from 3.11: - * Fix Splitter sometimes creating more splits than requested (CASSANDRA-18013) Merged from 3.0: + * Suppress CVE-2021-37533 (CASSANDRA-18146) * Add to the IntelliJ Git Window issue navigation links to Cassandra's Jira (CASSANDRA-18126) * Avoid anticompaction mixing data from two different time windows with TWCS (CASSANDRA-17970) * Do not spam the logs with MigrationCoordinator not being able to pull schemas (CASSANDRA-18096) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. paulo pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit c9968a8e95253a23846be1b5f502773a1eeea48d Merge: ff1ffd03da 6e6846892a Author: Paulo Motta AuthorDate: Mon Jan 16 21:46:49 2023 -0500 Merge branch 'cassandra-4.0' into cassandra-4.1 CHANGES.txt| 1 + .../apache/cassandra/io/sstable/Descriptor.java| 11 +- .../apache/cassandra/io/sstable/SSTableLoader.java | 23 .../cassandra/distributed/test/SnapshotsTest.java | 32 - test/unit/org/apache/cassandra/db/ImportTest.java | 42 ++ .../cassandra/io/sstable/DescriptorTest.java | 150 + .../cassandra/io/sstable/SSTableLoaderTest.java| 25 +++- 7 files changed, 251 insertions(+), 33 deletions(-) diff --cc CHANGES.txt index c5d192a9c8,f57005204a..017e5748b9 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,10 -1,13 +1,11 @@@ -4.0.8 +4.1.1 + * Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT and fail streaming (CASSANDRA-18110) + * Fix perpetual load of denylist on read in cases where denylist can never be loaded (CASSANDRA-18116) +Merged from 4.0: + * Fix sstable loading of keyspaces named snapshots or backups (CASSANDRA-14013) * Avoid ConcurrentModificationException in STCS/DTCS/TWCS.getSSTables (CASSANDRA-17977) * Restore internode custom tracing on 4.0's new messaging system (CASSANDRA-17981) - * Harden parsing of boolean values in CQL in PropertyDefinitions (CASSANDRA-17878) - * Fix error message about type hints (CASSANDRA-17915) - * Fix possible race condition on repair snapshots (CASSANDRA-17955) - * Fix ASM bytecode version inconsistency (CASSANDRA-17873) Merged from 3.11: - * Fix Splitter sometimes creating more splits than requested (CASSANDRA-18013) Merged from 3.0: * Add to the IntelliJ Git Window issue navigation links to Cassandra's Jira (CASSANDRA-18126) * Avoid anticompaction mixing data from two different time windows with TWCS (CASSANDRA-17970) diff --cc src/java/org/apache/cassandra/io/sstable/Descriptor.java index 83bafd4ff4,85f7ef67f1..75d51854f6 --- a/src/java/org/apache/cassandra/io/sstable/Descriptor.java +++ b/src/java/org/apache/cassandra/io/sstable/Descriptor.java @@@ -294,15 -305,20 +294,20 @@@ public class Descripto } // Then it can be a backup or a snapshot - if (tableDir.name().equals(Directories.BACKUPS_SUBDIR)) -if (tableDir.getName().equals(Directories.BACKUPS_SUBDIR) && tableDir.getParentFile().getName().contains("-")) -tableDir = tableDir.getParentFile(); ++if (tableDir.name().equals(Directories.BACKUPS_SUBDIR) && tableDir.parent().name().contains("-")) +tableDir = tableDir.parent(); - else if (parentOf(name, tableDir).name().equals(Directories.SNAPSHOT_SUBDIR)) - tableDir = parentOf(name, parentOf(name, tableDir)); + else + { + File keyspaceOrSnapshotDir = parentOf(name, tableDir); -if (keyspaceOrSnapshotDir.getName().equals(Directories.SNAPSHOT_SUBDIR) -&& parentOf(name, keyspaceOrSnapshotDir).getName().contains("-")) ++if (keyspaceOrSnapshotDir.name().equals(Directories.SNAPSHOT_SUBDIR) ++&& parentOf(name, keyspaceOrSnapshotDir).name().contains("-")) + tableDir = parentOf(name, keyspaceOrSnapshotDir); + } -String table = tableDir.getName().split("-")[0] + indexName; -String keyspace = parentOf(name, tableDir).getName(); +String table = tableDir.name().split("-")[0] + indexName; +String keyspace = parentOf(name, tableDir).name(); -return Pair.create(new Descriptor(version, directory, keyspace, table, generation, format), component); +return Pair.create(new Descriptor(version, directory, keyspace, table, id, format), component); } private static File parentOf(String name, File file) diff --cc src/java/org/apache/cassandra/io/sstable/SSTableLoader.java index 3d9e0f4c17,1e980feb5a..7ddbe72ed7 --- a/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java +++ b/src/java/org/apache/cassandra/io/sstable/SSTableLoader.java @@@ -99,29 -97,7 +99,6 @@@ public class SSTableLoader implements S } TableMetadataRef metadata = client.getTableMetadata(desc.cfname); - - if (metadata == null && // we did not find metadata - directory.name().equals(Directories.BACKUPS_SUBDIR)) // and it's likely we hit CASSANDRA-16235 - { - File parentDirectory = directory.parent(); -
[cassandra] 01/01: Merge branch 'cassandra-4.0' into cassandra-4.1
This is an automated email from the ASF dual-hosted git repository. bereng pushed a commit to branch cassandra-4.1 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit ff1ffd03dac2509233f8bb857b97f1db1f6dc653 Merge: 5be1038c5d 2c03055715 Author: Bereng AuthorDate: Mon Jan 16 07:08:21 2023 +0100 Merge branch 'cassandra-4.0' into cassandra-4.1 .circleci/generate.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org