This is an automated email from the ASF dual-hosted git repository.

brandonwilliams pushed a commit to branch cassandra-4.0
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit a874e02eecb282287929db6dfe76f1694c87a217
Merge: 40f9ca60f1 326b5aceb1
Author: Brandon Williams <brandonwilli...@apache.org>
AuthorDate: Thu Mar 9 10:02:33 2023 -0600

    Merge branch 'cassandra-3.11' into cassandra-4.0

 CHANGES.txt                                        |   1 +
 .../cassandra/service/DefaultFSErrorHandler.java   |   2 +
 ...ava => JVMStabilityInspectorThrowableTest.java} |  72 ++++++++---
 .../service/DefaultFSErrorHandlerTest.java         | 121 ++++++++++++++++++
 .../cassandra/service/DiskFailurePolicyTest.java   | 135 +++++++++++++++++++++
 .../org/apache/cassandra/utils/KillerForTests.java |   5 +
 6 files changed, 321 insertions(+), 15 deletions(-)

diff --cc CHANGES.txt
index f2064c098e,2812ae77d1..3aadd0c78c
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,31 -1,7 +1,32 @@@
 -3.11.15
 - * Fix Splitter sometimes creating more splits than requested 
(CASSANDRA-18013)
 +4.0.9
 + * 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:
+  * Fix default file system error handler for disk_failure_policy die 
(CASSANDRA-18294)
 +
 +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)
 + * 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)
 + * 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)
 + * 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:
   * 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 c7abfc5571,efe05ca1a6..f8b9f010c8
--- 
a/test/distributed/org/apache/cassandra/distributed/test/JVMStabilityInspectorThrowableTest.java
+++ 
b/test/distributed/org/apache/cassandra/distributed/test/JVMStabilityInspectorThrowableTest.java
@@@ -181,26 -212,35 +212,37 @@@ public class JVMStabilityInspectorThrow
  
      private static final class CorruptedSSTableReader extends 
ForwardingSSTableReader
      {
-         public CorruptedSSTableReader(SSTableReader delegate)
+         private boolean shouldThrowCorrupted;
+         public CorruptedSSTableReader(SSTableReader delegate, boolean 
shouldThrowCorrupted)
          {
              super(delegate);
+             this.shouldThrowCorrupted = shouldThrowCorrupted;
          }
  
 -        public UnfilteredRowIterator iterator(DecoratedKey key, Slices 
slices, ColumnFilter selectedColumns, boolean reversed, boolean isForThrift, 
SSTableReadsListener listener)
 +        @Override
 +        public UnfilteredRowIterator iterator(DecoratedKey key, Slices 
slices, ColumnFilter selectedColumns, boolean reversed, SSTableReadsListener 
listener)
          {
-             throw throwCorrupted();
+             if (shouldThrowCorrupted)
+                 throw throwCorrupted();
+             throw throwFSError();
          }
  
 -        public UnfilteredRowIterator iterator(FileDataInput file, 
DecoratedKey key, RowIndexEntry indexEntry, Slices slices, ColumnFilter 
selectedColumns, boolean reversed, boolean isForThrift)
 +        @Override
 +        public UnfilteredRowIterator iterator(FileDataInput file, 
DecoratedKey key, RowIndexEntry indexEntry, Slices slices, ColumnFilter 
selectedColumns, boolean reversed)
          {
-             throw throwCorrupted();
+             if (shouldThrowCorrupted)
+                 throw throwCorrupted();
+             throw throwFSError();
          }
  
          private CorruptSSTableException throwCorrupted()
          {
              throw new CorruptSSTableException(new IOException("failed to get 
position"), descriptor.baseFilename());
          }
+ 
+         private FSError throwFSError()
+         {
+             throw new FSReadError(new IOException("failed to get position"), 
descriptor.baseFilename());
+         }
      }
 -}
 +}
diff --cc test/unit/org/apache/cassandra/utils/KillerForTests.java
index fe9aa4599c,a802809722..b6c48d52e8
--- a/test/unit/org/apache/cassandra/utils/KillerForTests.java
+++ b/test/unit/org/apache/cassandra/utils/KillerForTests.java
@@@ -45,6 -45,12 +45,11 @@@ public class KillerForTests extends JVM
          if (!expected)
              Assert.fail("Saw JVM Kill but did not expect it.");
  
+         if (killed)
+         {
+             // Can only be killed once
+             return;
+         }
 -
          this.killed = true;
          this.quiet = quiet;
      }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to