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

epugh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/main by this push:
     new c2123ca736c SOLR-18269: Restore -c as a no-op function for bin/solr 
start (#4473)
c2123ca736c is described below

commit c2123ca736c53cc038001cb7f19509fbbd0e62b3
Author: Eric Pugh <[email protected]>
AuthorDate: Wed Jun 3 10:34:25 2026 -0400

    SOLR-18269: Restore -c as a no-op function for bin/solr start (#4473)
    
    Signed-off-by: Eric Pugh <[email protected]>
---
 changelog/unreleased/SOLR-18269.yml      |  7 +++++++
 solr/bin/solr                            | 16 ++++++++++++++++
 solr/bin/solr.cmd                        | 17 +++++++++++++++++
 solr/packaging/test/test_start_solr.bats |  8 ++++++++
 4 files changed, 48 insertions(+)

diff --git a/changelog/unreleased/SOLR-18269.yml 
b/changelog/unreleased/SOLR-18269.yml
new file mode 100644
index 00000000000..4e87550fdf0
--- /dev/null
+++ b/changelog/unreleased/SOLR-18269.yml
@@ -0,0 +1,7 @@
+title: Restore -c option as a no-op to bin/solr start script to simplify 
scripts that interact with both Solr 10 and previous versions of Solr.
+type: changed
+authors:
+  - name: Eric Pugh
+links:
+  - name: SOLR-18269
+    url: https://issues.apache.org/jira/browse/SOLR-18269
diff --git a/solr/bin/solr b/solr/bin/solr
index eaa417ca90d..e61808d080c 100755
--- a/solr/bin/solr
+++ b/solr/bin/solr
@@ -682,11 +682,27 @@ SOLR_OPTS=(${SOLR_OPTS:-})
 SCRIPT_SOLR_OPTS=()
 PASS_TO_RUN_EXAMPLE=()
 SOLR_MODE="solrcloud"
+CLOUD_FLAG_SET=false
+USER_MANAGED_FLAG_SET=false
 
 if [ $# -gt 0 ]; then
   while true; do
     case "${1:-}" in
+        -c|--cloud|-cloud)
+            if [[ "$USER_MANAGED_FLAG_SET" == "true" ]]; then
+              print_usage "$SCRIPT_CMD" "Cannot combine -c/--cloud with 
--user-managed; choose one."
+              exit 1
+            fi
+            echo "WARNING: -c/--cloud is a no-op. Solr starts in cloud mode by 
default."
+            CLOUD_FLAG_SET=true
+            shift
+        ;;
         --user-managed)
+            if [[ "$CLOUD_FLAG_SET" == "true" ]]; then
+              print_usage "$SCRIPT_CMD" "Cannot combine -c/--cloud with 
--user-managed; choose one."
+              exit 1
+            fi
+            USER_MANAGED_FLAG_SET=true
             SOLR_MODE="user-managed"
             PASS_TO_RUN_EXAMPLE+=("--user-managed")
             shift
diff --git a/solr/bin/solr.cmd b/solr/bin/solr.cmd
index e30cc4416fa..743d8fb7cdc 100755
--- a/solr/bin/solr.cmd
+++ b/solr/bin/solr.cmd
@@ -383,6 +383,9 @@ IF "%1"=="--foreground" goto set_foreground_mode
 IF "%1"=="--verbose" goto set_verbose
 IF "%1"=="-q" goto set_warn
 IF "%1"=="--quiet" goto set_warn
+IF "%1"=="-c" goto set_cloud_mode
+IF "%1"=="-cloud" goto set_cloud_mode
+IF "%1"=="--cloud" goto set_cloud_mode
 IF "%1"=="--user-managed" goto set_user_managed_mode
 IF "%1"=="--server-dir" goto set_server_dir
 IF "%1"=="--solr-home" goto set_solr_home_dir
@@ -444,7 +447,21 @@ set SOLR_LOG_LEVEL=WARN
 SHIFT
 goto parse_args
 
+:set_cloud_mode
+IF "%SOLR_MODE%"=="user-managed" (
+  set "SCRIPT_ERROR=Cannot combine -c/--cloud with --user-managed; choose one."
+  goto invalid_cmd_line
+)
+@echo WARNING: -c/--cloud is a no-op. Solr starts in cloud mode by default.
+set CLOUD_FLAG_SET=true
+SHIFT
+goto parse_args
+
 :set_user_managed_mode
+IF "%CLOUD_FLAG_SET%"=="true" (
+  set "SCRIPT_ERROR=Cannot combine -c/--cloud with --user-managed; choose one."
+  goto invalid_cmd_line
+)
 set SOLR_MODE=user-managed
 set "PASS_TO_RUN_EXAMPLE=--user-managed !PASS_TO_RUN_EXAMPLE!"
 SHIFT
diff --git a/solr/packaging/test/test_start_solr.bats 
b/solr/packaging/test/test_start_solr.bats
index a24ceadd24c..0b206dc7278 100644
--- a/solr/packaging/test/test_start_solr.bats
+++ b/solr/packaging/test/test_start_solr.bats
@@ -96,6 +96,14 @@ teardown() {
   solr assert --started http://localhost:${SOLR_PORT} --timeout 5000
 }
 
+@test "-c flag prints no-op warning and still starts in cloud mode" {
+  run solr start -c
+  assert_output --partial 'WARNING: -c/--cloud is a no-op. Solr starts in 
cloud mode by default.'
+
+  solr assert --started http://localhost:${SOLR_PORT} --timeout 5000
+  solr assert --cloud http://localhost:${SOLR_PORT} --timeout 5000
+}
+
 @test "bootstrapping a configset" {
   local 
confdir_path="${SOLR_TIP}/server/solr/configsets/sample_techproducts_configs/conf"
   

Reply via email to