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

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


The following commit(s) were added to refs/heads/cassandra-5.0 by this push:
     new 451b0c010f Test failure: 
org.apache.cassandra.distributed.test.UpgradeSSTablesTest
451b0c010f is described below

commit 451b0c010f0997d7bf9e3f4687bf9e75e2ebb004
Author: Bereng <berenguerbl...@gmail.com>
AuthorDate: Tue Feb 13 11:11:19 2024 +0100

    Test failure: org.apache.cassandra.distributed.test.UpgradeSSTablesTest
    
    patch by Berenguer Blasi; reviewed by Brandon Williams, Stefan Miklosovic 
for CASSANDRA-18635
---
 .../cassandra/tools/nodetool/UpgradeSSTable.java   | 27 +++++++++++++++++-----
 1 file changed, 21 insertions(+), 6 deletions(-)

diff --git a/src/java/org/apache/cassandra/tools/nodetool/UpgradeSSTable.java 
b/src/java/org/apache/cassandra/tools/nodetool/UpgradeSSTable.java
index cc94d8b54b..fb881bf106 100644
--- a/src/java/org/apache/cassandra/tools/nodetool/UpgradeSSTable.java
+++ b/src/java/org/apache/cassandra/tools/nodetool/UpgradeSSTable.java
@@ -24,6 +24,9 @@ import io.airlift.airline.Option;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.commons.lang3.exception.ExceptionUtils;
+
+import org.apache.cassandra.db.compaction.CompactionInterruptedException;
 import org.apache.cassandra.tools.NodeProbe;
 import org.apache.cassandra.tools.NodeTool.NodeToolCmd;
 
@@ -56,13 +59,25 @@ public class UpgradeSSTable extends NodeToolCmd
 
         for (String keyspace : keyspaces)
         {
-            try
-            {
-                probe.upgradeSSTables(probe.output().out, keyspace, 
!includeAll, maxSSTableTimestamp, jobs, tableNames);
-            }
-            catch (Exception e)
+            for (int retries = 0; retries < 5; retries++)
             {
-                throw new RuntimeException("Error occurred during enabling 
auto-compaction", e);
+                try
+                {
+                    if (retries > 0)
+                        Thread.sleep(500);
+                    probe.upgradeSSTables(probe.output().out, keyspace, 
!includeAll, maxSSTableTimestamp, jobs, tableNames);
+                    break;
+                }
+                catch (RuntimeException cie)
+                {
+                    // Spin retry. See CASSANDRA-18635
+                    if (ExceptionUtils.indexOfThrowable(cie, 
CompactionInterruptedException.class) != -1 && retries == 4)
+                        throw (cie);
+                }
+                catch (Exception e)
+                {
+                    throw new RuntimeException("Error occurred during enabling 
auto-compaction", e);
+                }
             }
         }
     }


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

Reply via email to