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 <brandonwilli...@apache.org>
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

Reply via email to