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

frankgh pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra-sidecar.git


The following commit(s) were added to refs/heads/trunk by this push:
     new a201f3a5 CASSSIDECAR-400: Fixing sidecar’s 
ProcessLifecycleProviderIntegrationTest() failure in root mode (#313)
a201f3a5 is described below

commit a201f3a5f17b3bdbf3c4d2cd3bbf27196fa70b72
Author: Shruti Sekaran <[email protected]>
AuthorDate: Wed Feb 4 14:32:06 2026 -0800

    CASSSIDECAR-400: Fixing sidecar’s ProcessLifecycleProviderIntegrationTest() 
failure in root mode (#313)
    
    Patch by Shruti Sekaran; reviewed by Francisco Guerrero, Saranya 
Krishnakumar, Paulo Motta for CASSSIDECAR-400
---
 .../ProcessLifecycleProviderIntegrationTest.java   | 31 +++++++++++++++++++---
 .../lifecycle/ProcessRuntimeConfiguration.java     |  2 +-
 2 files changed, 29 insertions(+), 4 deletions(-)

diff --git 
a/integration-tests/src/integrationTest/org/apache/cassandra/sidecar/lifecycle/ProcessLifecycleProviderIntegrationTest.java
 
b/integration-tests/src/integrationTest/org/apache/cassandra/sidecar/lifecycle/ProcessLifecycleProviderIntegrationTest.java
index 135e4c58..f93eef98 100644
--- 
a/integration-tests/src/integrationTest/org/apache/cassandra/sidecar/lifecycle/ProcessLifecycleProviderIntegrationTest.java
+++ 
b/integration-tests/src/integrationTest/org/apache/cassandra/sidecar/lifecycle/ProcessLifecycleProviderIntegrationTest.java
@@ -24,6 +24,8 @@ import java.net.URISyntaxException;
 import java.net.URL;
 import java.nio.file.Files;
 import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
@@ -83,6 +85,28 @@ class ProcessLifecycleProviderIntegrationTest
     private static Vertx vertx;
     private static WebClient client;
 
+    /**
+     * Test-only subclass of ProcessRuntimeConfiguration that adds the -R flag 
required for Cassandra 5.0+ when running as root
+     */
+    static class TestProcessRuntimeConfiguration extends 
ProcessRuntimeConfiguration
+    {
+        public TestProcessRuntimeConfiguration(Builder builder)
+        {
+            super(builder);
+        }
+
+        @Override
+        public ProcessBuilder buildStartCommand(String pidFileLocation, Path 
stdoutFileLocation, Path stderrFileLocation)
+        {
+            ProcessBuilder pb = super.buildStartCommand(pidFileLocation, 
stdoutFileLocation, stderrFileLocation);
+            List<String> command = new ArrayList<>(pb.command());
+            // Insert -R at position 3 (after cassandraBin, "-p" and 
pidFileLocation)
+            command.add(3, "-R");
+            pb.command(command);
+            return pb;
+        }
+    }
+
     @BeforeAll
     public static void setup() throws Exception
     {
@@ -188,13 +212,14 @@ class ProcessLifecycleProviderIntegrationTest
         copyDirectoryRecursively(originalCassandraConfDir, confDir);
         Path cassandraStorageDir = 
Files.createDirectories(tmpDir.resolve("var/lib/cassandra"));
         Path cassandraLogDir = 
Files.createDirectories(tmpDir.resolve("var/log"));
-        return ProcessRuntimeConfiguration.builder()
+
+        ProcessRuntimeConfiguration.Builder builder = 
ProcessRuntimeConfiguration.builder()
                                           .instance(instanceMetadata())
                                           
.cassandraHome(cassandraHome.toString())
                                           .cassandraConfDir(confDir.toString())
                                           
.cassandraLogDir(cassandraLogDir.toString())
-                                          
.storageDir(cassandraStorageDir.toString())
-                                          .build();
+                                          
.storageDir(cassandraStorageDir.toString());
+        return new TestProcessRuntimeConfiguration(builder);
     }
 
     static InstanceMetadata instanceMetadata()
diff --git 
a/server/src/main/java/org/apache/cassandra/sidecar/lifecycle/ProcessRuntimeConfiguration.java
 
b/server/src/main/java/org/apache/cassandra/sidecar/lifecycle/ProcessRuntimeConfiguration.java
index e5fb46cb..96e50b1a 100644
--- 
a/server/src/main/java/org/apache/cassandra/sidecar/lifecycle/ProcessRuntimeConfiguration.java
+++ 
b/server/src/main/java/org/apache/cassandra/sidecar/lifecycle/ProcessRuntimeConfiguration.java
@@ -53,7 +53,7 @@ public class ProcessRuntimeConfiguration
     private final Map<String, String> extraJvmOptions;
     private final Map<String, String> extraEnvironmentVariables;
 
-    private ProcessRuntimeConfiguration(Builder builder)
+    protected ProcessRuntimeConfiguration(Builder builder)
     {
         instance = builder.instance;
         cassandraHome = Path.of(builder.cassandraHome);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to