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]