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 8d7edeb335c SOLR-17470: CLI resolve -s (#2743)
8d7edeb335c is described below
commit 8d7edeb335c0e00ccc52d55ca421df6062195bc5
Author: Eric Pugh <[email protected]>
AuthorDate: Tue Oct 8 09:23:11 2024 -0400
SOLR-17470: CLI resolve -s (#2743)
The -s parameter now only means "provide a solr url" through out all of our
most widely used Solr CLI scripts.
---------
Co-authored-by: Christos Malliaridis <[email protected]>
---
dev-tools/scripts/cloud.sh | 2 +-
solr/bin/solr | 4 +--
solr/bin/solr.cmd | 4 +--
.../src/java/org/apache/solr/cli/AssertTool.java | 37 +++++++++++++++++----
.../src/java/org/apache/solr/cli/AuthTool.java | 1 +
.../org/apache/solr/cli/ConfigSetDownloadTool.java | 1 +
.../org/apache/solr/cli/ConfigSetUploadTool.java | 1 +
.../src/java/org/apache/solr/cli/ConfigTool.java | 1 +
.../src/java/org/apache/solr/cli/CreateTool.java | 1 +
.../src/java/org/apache/solr/cli/DeleteTool.java | 1 +
.../java/org/apache/solr/cli/HealthcheckTool.java | 1 +
.../src/java/org/apache/solr/cli/PackageTool.java | 1 +
.../java/org/apache/solr/cli/RunExampleTool.java | 4 +--
.../org/apache/solr/cli/SnapshotCreateTool.java | 1 +
.../org/apache/solr/cli/SnapshotDeleteTool.java | 1 +
.../org/apache/solr/cli/SnapshotDescribeTool.java | 1 +
.../org/apache/solr/cli/SnapshotExportTool.java | 1 +
.../java/org/apache/solr/cli/SnapshotListTool.java | 1 +
.../core/src/java/org/apache/solr/cli/SolrCLI.java | 31 +++++++++++++++---
.../src/java/org/apache/solr/cli/ZkCpTool.java | 1 +
.../src/java/org/apache/solr/cli/ZkLsTool.java | 1 +
.../src/java/org/apache/solr/cli/ZkMkrootTool.java | 1 +
.../src/java/org/apache/solr/cli/ZkMvTool.java | 1 +
.../src/java/org/apache/solr/cli/ZkRmTool.java | 1 +
.../org/apache/solr/cli/TestSolrCLIRunExample.java | 6 ++--
solr/packaging/test/test_assert.bats | 3 ++
solr/prometheus-exporter/bin/solr-exporter | 2 +-
solr/prometheus-exporter/bin/solr-exporter.cmd | 2 +-
.../solr/prometheus/exporter/SolrExporter.java | 30 +++++++++++++++--
.../deployment-guide/pages/enabling-ssl.adoc | 4 +--
.../monitoring-with-prometheus-and-grafana.adoc | 2 +-
.../pages/solr-control-script-reference.adoc | 38 +++++++++++-----------
.../getting-started/pages/tutorial-films.adoc | 10 +++---
.../getting-started/pages/tutorial-solrcloud.adoc | 12 +++----
.../pages/tutorial-techproducts.adoc | 4 +--
35 files changed, 154 insertions(+), 59 deletions(-)
diff --git a/dev-tools/scripts/cloud.sh b/dev-tools/scripts/cloud.sh
index 3ab979d5ac3..9824fb3eea7 100755
--- a/dev-tools/scripts/cloud.sh
+++ b/dev-tools/scripts/cloud.sh
@@ -334,7 +334,7 @@ start(){
echo "Final NUM_NODES is $NUM_NODES"
for i in `seq 1 $NUM_NODES`; do
mkdir -p "${CLUSTER_WD}/n${i}"
- argsArray=(-c -s $CLUSTER_WD_FULL/n${i} -z
localhost:${ZK_PORT}/solr_${SAFE_DEST} -p 898${i} -m $MEMORY \
+ argsArray=(-c --solr-home $CLUSTER_WD_FULL/n${i} -z
localhost:${ZK_PORT}/solr_${SAFE_DEST} -p 898${i} -m $MEMORY \
-a "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=500${i} \
-Dsolr.log.dir=$CLUSTER_WD_FULL/n${i} $JVM_ARGS")
FINAL_COMMAND="${SOLR}/bin/solr ${argsArray[@]}"
diff --git a/solr/bin/solr b/solr/bin/solr
index 040192548d8..62d77205189 100755
--- a/solr/bin/solr
+++ b/solr/bin/solr
@@ -367,7 +367,7 @@ function print_usage() {
if [[ "$CMD" == "start" || "$CMD" == "restart" ]]; then
echo ""
- echo "Usage: solr $CMD [-f] [-c] [--host host] [-p port] [-d directory]
[-z zkHost] [-m memory] [-e example] [-s solr.solr.home] [-t solr.data.home]
[--jvm-opts \"jvm-opts\"] [-V]"
+ echo "Usage: solr $CMD [-f] [-c] [--host host] [-p port] [-d directory]
[-z zkHost] [-m memory] [-e example] [--solr-home solr.solr.home] [-t
solr.data.home] [--jvm-opts \"jvm-opts\"] [-V]"
echo ""
echo " -f Start Solr in foreground; default starts
Solr in the background"
echo " and sends stdout / stderr to
solr-PORT-console.log"
@@ -393,7 +393,7 @@ function print_usage() {
echo " -m/--memory <memory> Sets the min (-Xms) and max (-Xmx) heap size
for the JVM, such as: -m 4g"
echo " results in: -Xms4g -Xmx4g; by default,
this script sets the heap size to 512m"
echo ""
- echo " -s <dir> Sets the solr.solr.home system property;
Solr will create core directories under"
+ echo " --solr-home <dir> Sets the solr.solr.home system property;
Solr will create core directories under"
echo " this directory. This allows you to run
multiple Solr instances on the same host"
echo " while reusing the same server directory
set using the -d parameter. If set, the"
echo " specified directory should contain a
solr.xml file, unless solr.xml exists in Zookeeper."
diff --git a/solr/bin/solr.cmd b/solr/bin/solr.cmd
index ae51b74d8cf..71660352917 100755
--- a/solr/bin/solr.cmd
+++ b/solr/bin/solr.cmd
@@ -307,7 +307,7 @@ goto done
:start_usage
@echo.
-@echo Usage: solr %SCRIPT_CMD% [-f] [-c] [--host hostname] [-p port] [-d
directory] [-z zkHost] [-m memory] [-e example] [-s solr.solr.home] [-t
solr.data.home] [--jvm-opts "jvm-opts"] [-V]
+@echo Usage: solr %SCRIPT_CMD% [-f] [-c] [--host hostname] [-p port] [-d
directory] [-z zkHost] [-m memory] [-e example] [--solr-home solr.solr.home]
[-t solr.data.home] [--jvm-opts "jvm-opts"] [-V]
@echo.
@echo -f Start Solr in foreground; default starts Solr in the
background
@echo and sends stdout / stderr to solr-PORT-console.log
@@ -333,7 +333,7 @@ goto done
@echo -m memory Sets the min (-Xms) and max (-Xmx) heap size for the
JVM, such as: -m 4g
@echo results in: -Xms4g -Xmx4g; by default, this script
sets the heap size to 512m
@echo.
-@echo -s dir Sets the solr.solr.home system property; Solr will
create core directories under
+@echo --solr.home dir Sets the solr.solr.home system property; Solr will
create core directories under
@echo this directory. This allows you to run multiple Solr
instances on the same host
@echo while reusing the same server directory set using the
-d parameter. If set, the
@echo specified directory should contain a solr.xml file,
unless solr.xml exists in Zookeeper.
diff --git a/solr/core/src/java/org/apache/solr/cli/AssertTool.java
b/solr/core/src/java/org/apache/solr/cli/AssertTool.java
index dabbe2aaa8d..3dabdb9eb6f 100644
--- a/solr/core/src/java/org/apache/solr/cli/AssertTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/AssertTool.java
@@ -26,6 +26,7 @@ import java.nio.file.attribute.FileOwnerAttributeView;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.DeprecatedAttributes;
import org.apache.commons.cli.Option;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
@@ -65,18 +66,40 @@ public class AssertTool extends ToolBase {
.longOpt("not-root")
.build(),
Option.builder("r").desc("Asserts that we are the root
user.").longOpt("root").build(),
- Option.builder("S")
+ Option.builder()
.desc("Asserts that Solr is NOT running on a certain URL. Default
timeout is 1000ms.")
.longOpt("not-started")
.hasArg(true)
.argName("url")
.build(),
- Option.builder("s")
+ Option.builder("S")
+ .desc("Asserts that Solr is NOT running on a certain URL. Default
timeout is 1000ms.")
+ .deprecated(
+ DeprecatedAttributes.builder()
+ .setForRemoval(true)
+ .setSince("9.8")
+ .setDescription("Use --not-started instead")
+ .get())
+ .hasArg(true)
+ .argName("url")
+ .build(),
+ Option.builder()
.desc("Asserts that Solr is running on a certain URL. Default
timeout is 1000ms.")
.longOpt("started")
.hasArg(true)
.argName("url")
.build(),
+ Option.builder("s")
+ .desc("Asserts that Solr is running on a certain URL. Default
timeout is 1000ms.")
+ .deprecated(
+ DeprecatedAttributes.builder()
+ .setForRemoval(true)
+ .setSince("9.8")
+ .setDescription("Use --started instead")
+ .get())
+ .hasArg(true)
+ .argName("url")
+ .build(),
Option.builder()
.desc("Asserts that we run as same user that owns <directory>.")
.longOpt("same-user")
@@ -201,15 +224,17 @@ public class AssertTool extends ToolBase {
if (cli.hasOption("same-user")) {
ret += sameUser(cli.getOptionValue("same-user"));
}
- if (cli.hasOption("s")) {
+ if (cli.hasOption("s") || cli.hasOption("started")) {
ret +=
assertSolrRunning(
- cli.getOptionValue("s"),
cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt()));
+ SolrCLI.getOptionWithDeprecatedAndDefault(cli, "started", "s",
null),
+ cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt()));
}
- if (cli.hasOption("S")) {
+ if (cli.hasOption("S") || cli.hasOption("not-started")) {
ret +=
assertSolrNotRunning(
- cli.getOptionValue("S"),
cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt()));
+ SolrCLI.getOptionWithDeprecatedAndDefault(cli, "not-started",
"S", null),
+ cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt()));
}
if (cli.hasOption("c")) {
ret +=
diff --git a/solr/core/src/java/org/apache/solr/cli/AuthTool.java
b/solr/core/src/java/org/apache/solr/cli/AuthTool.java
index 7a3f8651849..6000e1e8667 100644
--- a/solr/core/src/java/org/apache/solr/cli/AuthTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/AuthTool.java
@@ -193,6 +193,7 @@ public class AuthTool extends ToolBase {
.build(),
SolrCLI.OPTION_SOLRURL,
SolrCLI.OPTION_SOLRURL_DEPRECATED,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
diff --git a/solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java
b/solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java
index 13bc8c39377..2a987b7bdce 100644
--- a/solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java
@@ -86,6 +86,7 @@ public class ConfigSetDownloadTool extends ToolBase {
.build(),
SolrCLI.OPTION_SOLRURL,
SolrCLI.OPTION_SOLRURL_DEPRECATED,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
diff --git a/solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java
b/solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java
index da98d373e97..3799b498c4e 100644
--- a/solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java
@@ -88,6 +88,7 @@ public class ConfigSetUploadTool extends ToolBase {
.build(),
SolrCLI.OPTION_SOLRURL,
SolrCLI.OPTION_SOLRURL_DEPRECATED,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
diff --git a/solr/core/src/java/org/apache/solr/cli/ConfigTool.java
b/solr/core/src/java/org/apache/solr/cli/ConfigTool.java
index 1ffdb5a401f..f1a90c071a7 100644
--- a/solr/core/src/java/org/apache/solr/cli/ConfigTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ConfigTool.java
@@ -112,6 +112,7 @@ public class ConfigTool extends ToolBase {
.build(),
SolrCLI.OPTION_SOLRURL,
SolrCLI.OPTION_SOLRURL_DEPRECATED,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
diff --git a/solr/core/src/java/org/apache/solr/cli/CreateTool.java
b/solr/core/src/java/org/apache/solr/cli/CreateTool.java
index 7a8fbc31c8d..41742c600a8 100644
--- a/solr/core/src/java/org/apache/solr/cli/CreateTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/CreateTool.java
@@ -158,6 +158,7 @@ public class CreateTool extends ToolBase {
.build(),
SolrCLI.OPTION_SOLRURL,
SolrCLI.OPTION_SOLRURL_DEPRECATED,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
diff --git a/solr/core/src/java/org/apache/solr/cli/DeleteTool.java
b/solr/core/src/java/org/apache/solr/cli/DeleteTool.java
index d6095aaf875..8608448187e 100644
--- a/solr/core/src/java/org/apache/solr/cli/DeleteTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/DeleteTool.java
@@ -134,6 +134,7 @@ public class DeleteTool extends ToolBase {
.build(),
SolrCLI.OPTION_SOLRURL,
SolrCLI.OPTION_SOLRURL_DEPRECATED,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
diff --git a/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java
b/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java
index 12b1518f34b..58024d47ac7 100644
--- a/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java
@@ -65,6 +65,7 @@ public class HealthcheckTool extends ToolBase {
.build(),
SolrCLI.OPTION_SOLRURL,
SolrCLI.OPTION_SOLRURL_DEPRECATED,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
diff --git a/solr/core/src/java/org/apache/solr/cli/PackageTool.java
b/solr/core/src/java/org/apache/solr/cli/PackageTool.java
index 710e54e9905..07c5487df48 100644
--- a/solr/core/src/java/org/apache/solr/cli/PackageTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/PackageTool.java
@@ -369,6 +369,7 @@ public class PackageTool extends ToolBase {
.build(),
SolrCLI.OPTION_SOLRURL,
SolrCLI.OPTION_SOLRURL_DEPRECATED,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
diff --git a/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java
b/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java
index 2bd668d5ee2..ea1e6da17bf 100644
--- a/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java
@@ -119,7 +119,7 @@ public class RunExampleTool extends ToolBase {
.required(true)
.desc("Name of the example to launch, one of: cloud, techproducts,
schemaless, films.")
.build(),
- Option.builder("s")
+ Option.builder()
.longOpt("script")
.hasArg()
.argName("PATH")
@@ -636,7 +636,7 @@ public class RunExampleTool extends ToolBase {
String startCmd =
String.format(
Locale.ROOT,
- "\"%s\" start %s -p %d -s \"%s\" %s %s %s %s %s %s %s",
+ "\"%s\" start %s -p %d --solr-home \"%s\" %s %s %s %s %s %s %s",
callScript,
cloudModeArg,
port,
diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotCreateTool.java
b/solr/core/src/java/org/apache/solr/cli/SnapshotCreateTool.java
index d80dfbc61ea..11ff8a205e3 100644
--- a/solr/core/src/java/org/apache/solr/cli/SnapshotCreateTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/SnapshotCreateTool.java
@@ -45,6 +45,7 @@ public class SnapshotCreateTool extends ToolBase {
return List.of(
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_SOLRURL,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
Option.builder("c")
.longOpt("name")
.argName("NAME")
diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteTool.java
b/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteTool.java
index d172391183e..8529a35d2f0 100644
--- a/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteTool.java
@@ -45,6 +45,7 @@ public class SnapshotDeleteTool extends ToolBase {
return List.of(
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_SOLRURL,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
Option.builder("c")
.longOpt("name")
.argName("NAME")
diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeTool.java
b/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeTool.java
index a007b75f075..b8673a6579a 100644
--- a/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeTool.java
@@ -58,6 +58,7 @@ public class SnapshotDescribeTool extends ToolBase {
return List.of(
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_SOLRURL,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
Option.builder("c")
.longOpt("name")
.argName("NAME")
diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotExportTool.java
b/solr/core/src/java/org/apache/solr/cli/SnapshotExportTool.java
index 066f980b4d0..c7a1578ca5e 100644
--- a/solr/core/src/java/org/apache/solr/cli/SnapshotExportTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/SnapshotExportTool.java
@@ -46,6 +46,7 @@ public class SnapshotExportTool extends ToolBase {
return List.of(
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_SOLRURL,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
Option.builder("c")
.longOpt("name")
.argName("NAME")
diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotListTool.java
b/solr/core/src/java/org/apache/solr/cli/SnapshotListTool.java
index a1db955b0c0..5ccaf6d6cc5 100644
--- a/solr/core/src/java/org/apache/solr/cli/SnapshotListTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/SnapshotListTool.java
@@ -47,6 +47,7 @@ public class SnapshotListTool extends ToolBase {
return List.of(
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_SOLRURL,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
Option.builder("c")
.longOpt("name")
.argName("NAME")
diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java
b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java
index 056a7792bb5..ade06a26d08 100755
--- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java
+++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java
@@ -135,7 +135,7 @@ public class SolrCLI implements CLIO {
+ '.')
.build();
public static final Option OPTION_SOLRURL =
- Option.builder("url")
+ Option.builder("s")
.longOpt("solr-url")
.argName("HOST")
.hasArg()
@@ -145,6 +145,22 @@ public class SolrCLI implements CLIO {
+ getDefaultSolrUrl()
+ '.')
.build();
+ public static final Option OPTION_SOLRURL_DEPRECATED_SHORT =
+ Option.builder("url")
+ .argName("HOST")
+ .hasArg()
+ .required(false)
+ .deprecated(
+ DeprecatedAttributes.builder()
+ .setForRemoval(true)
+ .setSince("9.7")
+ .setDescription("Use -s instead")
+ .get())
+ .desc(
+ "Base Solr URL, which can be used to determine the zk-host if
that's not known; defaults to: "
+ + getDefaultSolrUrl()
+ + '.')
+ .build();
public static final Option OPTION_VERBOSE =
Option.builder()
@@ -392,7 +408,7 @@ public class SolrCLI implements CLIO {
return val == null ? def : val;
}
- // TODO: SOLR-17429 - remove the custom logic when CommonsCLI is upgraded and
+ // TODO: SOLR-17429 - remove the custom logic when Commons CLI is upgraded
and
// makes stderr the default, or makes Option.toDeprecatedString() public.
private static void deprecatedHandlerStdErr(Option o) {
if (o.isDeprecated()) {
@@ -709,8 +725,15 @@ public class SolrCLI implements CLIO {
* ZooKeeper.
*/
public static String normalizeSolrUrl(CommandLine cli) throws Exception {
- String solrUrl =
- cli.hasOption("solr-url") ? cli.getOptionValue("solr-url") :
cli.getOptionValue("solrUrl");
+ String solrUrl = null;
+ if (cli.hasOption("solr-url")) {
+ solrUrl = cli.getOptionValue("solr-url");
+ } else if (cli.hasOption("solrUrl")) {
+ solrUrl = cli.getOptionValue("solrUrl");
+ } else if (cli.hasOption("url")) {
+ solrUrl = cli.getOptionValue("url");
+ }
+
if (solrUrl == null) {
String zkHost =
cli.hasOption("zk-host") ? cli.getOptionValue("zk-host") :
cli.getOptionValue("zkHost");
diff --git a/solr/core/src/java/org/apache/solr/cli/ZkCpTool.java
b/solr/core/src/java/org/apache/solr/cli/ZkCpTool.java
index 44c0afa94b7..aaa04d2091b 100644
--- a/solr/core/src/java/org/apache/solr/cli/ZkCpTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ZkCpTool.java
@@ -65,6 +65,7 @@ public class ZkCpTool extends ToolBase {
SolrCLI.OPTION_RECURSE,
SolrCLI.OPTION_SOLRURL,
SolrCLI.OPTION_SOLRURL_DEPRECATED,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
diff --git a/solr/core/src/java/org/apache/solr/cli/ZkLsTool.java
b/solr/core/src/java/org/apache/solr/cli/ZkLsTool.java
index 3885734918a..390a8a30988 100644
--- a/solr/core/src/java/org/apache/solr/cli/ZkLsTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ZkLsTool.java
@@ -43,6 +43,7 @@ public class ZkLsTool extends ToolBase {
SolrCLI.OPTION_RECURSE,
SolrCLI.OPTION_SOLRURL,
SolrCLI.OPTION_SOLRURL_DEPRECATED,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
diff --git a/solr/core/src/java/org/apache/solr/cli/ZkMkrootTool.java
b/solr/core/src/java/org/apache/solr/cli/ZkMkrootTool.java
index f1c1c1da9a7..3c69b7b0d10 100644
--- a/solr/core/src/java/org/apache/solr/cli/ZkMkrootTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ZkMkrootTool.java
@@ -50,6 +50,7 @@ public class ZkMkrootTool extends ToolBase {
.build(),
SolrCLI.OPTION_SOLRURL,
SolrCLI.OPTION_SOLRURL_DEPRECATED,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
diff --git a/solr/core/src/java/org/apache/solr/cli/ZkMvTool.java
b/solr/core/src/java/org/apache/solr/cli/ZkMvTool.java
index 1e2b391a53c..339d7e41040 100644
--- a/solr/core/src/java/org/apache/solr/cli/ZkMvTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ZkMvTool.java
@@ -46,6 +46,7 @@ public class ZkMvTool extends ToolBase {
return List.of(
SolrCLI.OPTION_SOLRURL,
SolrCLI.OPTION_SOLRURL_DEPRECATED,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
diff --git a/solr/core/src/java/org/apache/solr/cli/ZkRmTool.java
b/solr/core/src/java/org/apache/solr/cli/ZkRmTool.java
index d9fbf8908b3..fa8b578bf3d 100644
--- a/solr/core/src/java/org/apache/solr/cli/ZkRmTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ZkRmTool.java
@@ -45,6 +45,7 @@ public class ZkRmTool extends ToolBase {
SolrCLI.OPTION_RECURSE,
SolrCLI.OPTION_SOLRURL,
SolrCLI.OPTION_SOLRURL_DEPRECATED,
+ SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
diff --git a/solr/core/src/test/org/apache/solr/cli/TestSolrCLIRunExample.java
b/solr/core/src/test/org/apache/solr/cli/TestSolrCLIRunExample.java
index d699ab17843..d57d2fdd51b 100644
--- a/solr/core/src/test/org/apache/solr/cli/TestSolrCLIRunExample.java
+++ b/solr/core/src/test/org/apache/solr/cli/TestSolrCLIRunExample.java
@@ -119,7 +119,7 @@ public class TestSolrCLIRunExample extends SolrTestCaseJ4 {
return startStandaloneSolr(args);
}
- String solrHomeDir = getArg("-s", args);
+ String solrHomeDir = getArg("--solr-home", args);
int port = Integer.parseInt(getArg("-p", args));
String solrxml =
Files.readString(
@@ -226,7 +226,7 @@ public class TestSolrCLIRunExample extends SolrTestCaseJ4 {
int port = Integer.parseInt(getArg("-p", args));
- File solrHomeDir = new File(getArg("-s", args));
+ File solrHomeDir = new File(getArg("--solr-home", args));
System.setProperty("host", "localhost");
System.setProperty("jetty.port", String.valueOf(port));
@@ -584,7 +584,7 @@ public class TestSolrCLIRunExample extends SolrTestCaseJ4 {
"--server-dir", solrServerDir.getAbsolutePath(),
"--example-dir", solrExampleDir.getAbsolutePath(),
"-p", String.valueOf(bindPort),
- "-script", toExecute.getAbsolutePath()
+ "--script", toExecute.getAbsolutePath()
};
// capture tool output to stdout
diff --git a/solr/packaging/test/test_assert.bats
b/solr/packaging/test/test_assert.bats
index 57413b119f0..56bad292f55 100644
--- a/solr/packaging/test/test_assert.bats
+++ b/solr/packaging/test/test_assert.bats
@@ -29,7 +29,9 @@ teardown() {
}
@test "assert for non cloud mode" {
+ solr assert --not-started http://localhost:${SOLR_PORT} --timeout 5000
run solr start
+ solr assert --started http://localhost:${SOLR_PORT} --timeout 5000
run solr assert --not-cloud http://localhost:${SOLR_PORT}/solr
assert_output --partial "needn't include Solr's context-root"
@@ -43,6 +45,7 @@ teardown() {
@test "assert for cloud mode" {
run solr start -c
+ solr assert --started http://localhost:${SOLR_PORT} --timeout 5000
run solr assert --cloud http://localhost:${SOLR_PORT}
refute_output --partial "ERROR"
diff --git a/solr/prometheus-exporter/bin/solr-exporter
b/solr/prometheus-exporter/bin/solr-exporter
index 6f7ef98428b..0d5e8529a1d 100755
--- a/solr/prometheus-exporter/bin/solr-exporter
+++ b/solr/prometheus-exporter/bin/solr-exporter
@@ -112,7 +112,7 @@ if [[ -n "$PORT" ]]; then
fi
if [[ -n "$SCRAPE_INTERVAL" ]]; then
- EXPORTER_ARGS+=(-s "$SCRAPE_INTERVAL")
+ EXPORTER_ARGS+=(--scrape-interval "$SCRAPE_INTERVAL")
fi
if [[ -n "$NUM_THREADS" ]]; then
diff --git a/solr/prometheus-exporter/bin/solr-exporter.cmd
b/solr/prometheus-exporter/bin/solr-exporter.cmd
index e040553d0c8..417ab6c1273 100644
--- a/solr/prometheus-exporter/bin/solr-exporter.cmd
+++ b/solr/prometheus-exporter/bin/solr-exporter.cmd
@@ -78,7 +78,7 @@ set EXPORTER_ARGS=
IF NOT "%CONFIG_FILE%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% --config-file
%CONFIG_FILE%
IF NOT "%PORT%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% -p %PORT%
-IF NOT "%SCRAPE_INTERVAL%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% -s
%SCRAPE_INTERVAL%
+IF NOT "%SCRAPE_INTERVAL%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS%
--scrape-interval %SCRAPE_INTERVAL%
IF NOT "%NUM_THREADS%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% -n %NUM_THREADS%
IF NOT "%ZK_HOST%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% -z %ZK_HOST%
IF NOT "%SOLR_URL%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% -b %SOLR_URL%
diff --git
a/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrExporter.java
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrExporter.java
index 0a56c018856..68534978188 100644
---
a/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrExporter.java
+++
b/solr/prometheus-exporter/src/java/org/apache/solr/prometheus/exporter/SolrExporter.java
@@ -145,6 +145,7 @@ public class SolrExporter {
Options mainOptions = new Options();
Options deprecatedOptions = new Options();
+ // Change to -s and --solr-url in main once -s for --scrape-interval
removed.
Option baseUrlOption =
Option.builder("b")
.longOpt("base-url")
@@ -236,7 +237,7 @@ public class SolrExporter {
mainOptions.addOption(portOption);
Option scrapeIntervalOption =
- Option.builder("s")
+ Option.builder()
.longOpt("scrape-interval")
.hasArg()
.argName("SCRAPE_INTERVAL")
@@ -248,6 +249,24 @@ public class SolrExporter {
.build();
mainOptions.addOption(scrapeIntervalOption);
+ Option scrapeIntervalOptionDeprecated =
+ Option.builder("s")
+ .hasArg()
+ .argName("SCRAPE_INTERVAL")
+ .type(Integer.class)
+ .deprecated(
+ DeprecatedAttributes.builder()
+ .setForRemoval(true)
+ .setSince("9.8")
+ .setDescription("Use --scrape-interval instead")
+ .get())
+ .desc(
+ "Specify the delay between scraping Solr metrics; the default
is "
+ + DEFAULT_SCRAPE_INTERVAL
+ + " seconds.")
+ .build();
+ mainOptions.addOption(scrapeIntervalOptionDeprecated);
+
Option sslOption =
Option.builder("ssl")
.longOpt("ssl-enabled")
@@ -348,11 +367,18 @@ public class SolrExporter {
configFile = commandLine.getOptionValue(configOption);
}
+ int scrapeInterval = DEFAULT_SCRAPE_INTERVAL;
+ if (commandLine.hasOption("s")) {
+ scrapeInterval =
commandLine.getParsedOptionValue(scrapeIntervalOptionDeprecated);
+ } else if (commandLine.hasOption("scrape-interval")) {
+ scrapeInterval =
commandLine.getParsedOptionValue(scrapeIntervalOption);
+ }
+
SolrExporter solrExporter =
new SolrExporter(
port,
commandLine.getParsedOptionValue(numThreadsOption,
DEFAULT_NUM_THREADS),
- commandLine.getParsedOptionValue(scrapeIntervalOption,
DEFAULT_SCRAPE_INTERVAL),
+ scrapeInterval,
scrapeConfiguration,
loadMetricsConfiguration(configFile),
clusterId);
diff --git
a/solr/solr-ref-guide/modules/deployment-guide/pages/enabling-ssl.adoc
b/solr/solr-ref-guide/modules/deployment-guide/pages/enabling-ssl.adoc
index db5880049e0..de6f860c331 100644
--- a/solr/solr-ref-guide/modules/deployment-guide/pages/enabling-ssl.adoc
+++ b/solr/solr-ref-guide/modules/deployment-guide/pages/enabling-ssl.adoc
@@ -310,7 +310,7 @@ If you created the SSL key without all DNS names or IP
addresses on which Solr n
====
[source,terminal]
----
-$ bin/solr start --cloud -s cloud/node1 -z
server1:2181,server2:2181,server3:2181 -p 8984
+$ bin/solr start --cloud --solr-home cloud/node1 -z
server1:2181,server2:2181,server3:2181 -p 8984
----
====
@@ -319,7 +319,7 @@ Windows::
====
[source,powershell]
----
-C:\> bin\solr.cmd --cloud -s cloud\node1 -z
server1:2181,server2:2181,server3:2181
+C:\> bin\solr.cmd --cloud --solr-home cloud\node1 -z
server1:2181,server2:2181,server3:2181
----
====
diff --git
a/solr/solr-ref-guide/modules/deployment-guide/pages/monitoring-with-prometheus-and-grafana.adoc
b/solr/solr-ref-guide/modules/deployment-guide/pages/monitoring-with-prometheus-and-grafana.adoc
index 7b853b3b176..d6ce94d6c59 100644
---
a/solr/solr-ref-guide/modules/deployment-guide/pages/monitoring-with-prometheus-and-grafana.adoc
+++
b/solr/solr-ref-guide/modules/deployment-guide/pages/monitoring-with-prometheus-and-grafana.adoc
@@ -159,7 +159,7 @@ The number of threads.
The `solr-exporter` creates thread pools for requests to Solr.
Request latency can be improved by increasing the number of threads.
-`-s`, `--scrape-interval`, `$SCRAPE_INTERVAL`::
+`--scrape-interval`, `$SCRAPE_INTERVAL`::
+
[%autowidth,frame=none]
|===
diff --git
a/solr/solr-ref-guide/modules/deployment-guide/pages/solr-control-script-reference.adoc
b/solr/solr-ref-guide/modules/deployment-guide/pages/solr-control-script-reference.adoc
index 0d2ebb13051..6af26e74de4 100644
---
a/solr/solr-ref-guide/modules/deployment-guide/pages/solr-control-script-reference.adoc
+++
b/solr/solr-ref-guide/modules/deployment-guide/pages/solr-control-script-reference.adoc
@@ -105,7 +105,7 @@ For more details, see the section <<SolrCloud Mode>> below.
+
Define a server directory, defaults to `server` (as in, `$SOLR_TIP/server`).
It is uncommon to override this option.
-When running multiple instances of Solr on the same host, it is more common to
use the same server directory for each instance and use a unique Solr home
directory using the `-s` option.
+When running multiple instances of Solr on the same host, it is more common to
use the same server directory for each instance and use a unique Solr home
directory using the `--solr-home` option.
+
*Example*: `bin/solr start -d newServerDir`
@@ -194,7 +194,7 @@ If this is not specified, `8983` will be used.
+
*Example*: `bin/solr start -p 8655`
-`-s <dir>`::
+`--solr-home <dir>`::
+
[%autowidth,frame=none]
|===
@@ -211,7 +211,7 @@ This parameter is ignored when running examples (`-e`), as
the `solr.solr.home`
The default value is `server/solr`.
If passed relative dir, validation with current dir will be done, before
trying default `server/<dir>`.
+
-*Example*: `bin/solr start -s newHome`
+*Example*: `bin/solr start --solr-home newHome`
`-t <dir>` or `--data-home <dir>`::
+
@@ -278,7 +278,7 @@ To emphasize how the default settings work take a moment to
understand that the
`bin/solr start`
-`bin/solr start --host localhost -p 8983 -d server -s solr -m 512m`
+`bin/solr start --host localhost -p 8983 -d server --solr-home solr -m 512m`
It is not necessary to define all of the options when starting if the defaults
are fine for your needs.
@@ -498,7 +498,7 @@ The basic usage of `bin/solr assert` is:
[source, plain]
----
$ bin/solr assert -h
-usage: bin/solr assert [-m <message>] [-e] [-rR] [-s <url>] [-S <url>] [-c
+usage: bin/solr assert [-m <message>] [-e] [-rR] [--started <url>]
[-not-started <url>] [-c
<url>] [-C <url>] [-u <dir>] [-x <dir>] [-X <dir>]
-c,---cloud <url> Asserts that Solr is running in cloud mode.
Also fails if Solr not running. URL should
@@ -548,7 +548,7 @@ Name of the collection to run a healthcheck against.
+
*Example*: `bin/solr healthcheck -c gettingstarted`
-`--solr-url <url>`::
+`-s <url>` or `--solr-url <url>`::
+
[%autowidth,frame=none]
|===
@@ -683,7 +683,7 @@ This defaults to the same name as the core or collection.
+
*Example*: `bin/solr create -n basic`
-`-s <shards>` or `-shards <shards>`::
+`-sh <shards>` or `-shards <shards>`::
+
[%autowidth,frame=none]
|===
@@ -729,7 +729,7 @@ It is possible to override this warning with the --force
parameter.
The ZooKeeper connection string, usable in SolrCloud mode.
Unnecessary if `ZK_HOST` is defined in `solr.in.sh` or `solr.in.cmd`.
-`--solr-url <url>`::
+`-s <url>` or `--solr-url <url>`::
+
[%autowidth,frame=none]
|===
@@ -848,7 +848,7 @@ Skip safety checks when deleting the configuration
directory used by a collectio
The ZooKeeper connection string, usable in SolrCloud mode.
Unnecessary if `ZK_HOST` is defined in `solr.in.sh` or `solr.in.cmd`.
-`-solr-url <url>`::
+`-s <url>` or `--solr-url <url>`::
+
[%autowidth,frame=none]
|===
@@ -994,7 +994,7 @@ Unnecessary if `ZK_HOST` is defined in `solr.in.sh` or
`solr.in.cmd`.
Defines the Solr server directory, by default `$SOLR_TIP/server`.
It is not common to need to override the default, and is only needed if you
have customized the `$SOLR_HOME` directory path.
-`-s <dir>` or `--solr-home <dir>`::
+`--solr-home <dir>`::
+
[%autowidth,frame=none]
|===
@@ -1094,7 +1094,7 @@ Set the property to this value; accepts JSON objects and
strings.
The ZooKeeper connection string, usable in SolrCloud mode.
Unnecessary if `ZK_HOST` is defined in `solr.in.sh` or `solr.in.cmd`.
-`-u <url>` or --solr-url <url>`::
+`-s <url>` or `--solr-url <url>`::
+
[%autowidth,frame=none]
|===
@@ -1205,7 +1205,7 @@ Is not required if `ZK_HOST` is defined in `solr.in.sh`
or `solr.in.cmd`.
+
*Example*: `-z 123.321.23.43:2181`
-`-url <url>` or `--solr-url <url>`::
+`-s <url>` or `--solr-url <url>`::
+
[%autowidth,frame=none]
|===
@@ -1277,7 +1277,7 @@ Unnecessary if `ZK_HOST` is defined in `solr.in.sh` or
`solr.in.cmd`.
+
*Example*: `-z 123.321.23.43:2181`
-`-url <url>` or `--solr-url <url>`::
+`-s <url>` or `--solr-url <url>`::
+
[%autowidth,frame=none]
|===
@@ -1361,7 +1361,7 @@ Optional if `ZK_HOST` is defined in `solr.in.sh` or
`solr.in.cmd`.
+
*Example*: `-z 123.321.23.43:2181`
-`-url <url>` or `--solr-url <url>`::
+`-s <url>` or `--solr-url <url>`::
+
[%autowidth,frame=none]
|===
@@ -1444,7 +1444,7 @@ Optional if `ZK_HOST` is defined in `solr.in.sh` or
`solr.in.cmd`.
+
*Example*: `-z 123.321.23.43:2181`
-`-url <url>` or `--solr-url <url>`::
+`-s <url>` or `--solr-url <url>`::
+
[%autowidth,frame=none]
|===
@@ -1506,7 +1506,7 @@ An example of this command is:
`bin/solr zk mv /configs/oldconfigset /configs/newconfigset`
-`-url <url>` or `--solr-url <url>`::
+`-s <url>` or `--solr-url <url>`::
+
[%autowidth,frame=none]
|===
@@ -1557,7 +1557,7 @@ Optional if `ZK_HOST` is defined in `solr.in.sh` or
`solr.in.cmd`.
+
*Example*: `-z 123.321.23.43:2181`
-`-url <url>` or `--solr-url <url>`::
+`-s <url>` or `--solr-url <url>`::
+
[%autowidth,frame=none]
|===
@@ -1606,7 +1606,7 @@ Optional if `ZK_HOST` is defined in `solr.in.sh` or
`solr.in.cmd`.
+
*Example*: `-z 123.321.23.43:2181`
-`-url <url>` or `--solr-url <url>`::
+`-s <url>` or `--solr-url <url>`::
+
[%autowidth,frame=none]
|===
@@ -1786,7 +1786,7 @@ If you have configured basicAuth or TLS with your Solr
you may find this easier
The `bin/solr api` command takes the following parameters:
-`-url <url>` or `--solr-url <url>`::
+`-s <url>` or `--solr-url <url>`::
+
[%autowidth,frame=none]
|===
diff --git
a/solr/solr-ref-guide/modules/getting-started/pages/tutorial-films.adoc
b/solr/solr-ref-guide/modules/getting-started/pages/tutorial-films.adoc
index 503f1fa8034..c715ee01149 100644
--- a/solr/solr-ref-guide/modules/getting-started/pages/tutorial-films.adoc
+++ b/solr/solr-ref-guide/modules/getting-started/pages/tutorial-films.adoc
@@ -32,7 +32,7 @@ If you did, though, and need to restart Solr, issue these
commands:
[,console]
----
-$ bin/solr start -c -p 8983 -s example/cloud/node1/solr
+$ bin/solr start -c -p 8983 --solr-home example/cloud/node1/solr
----
This starts the first node.
@@ -40,7 +40,7 @@ When it's done start the second node, and tell it how to
connect to ZooKeeper:
[,console]
----
-$ bin/solr start -c -p 7574 -s example/cloud/node2/solr -z localhost:9983
+$ bin/solr start -c -p 7574 --solr-home example/cloud/node2/solr -z
localhost:9983
----
NOTE: If you have defined `ZK_HOST` in `solr.in.sh`/`solr.in.cmd` (see
xref:deployment-guide:zookeeper-ensemble#updating-solr-include-files[Updating
Solr Include Files]) you can omit `-z <zk host string>` from the above command.
@@ -75,14 +75,14 @@ The data you're going to index is related to movies, so
start by creating a coll
[,console]
----
-$ bin/solr create -c films --shards 2 -rf 2
+$ bin/solr create -c films --shards 2 --replication-factor 2
----
Whoa, wait.
We didn't specify a configset!
That's fine, the `_default` is appropriately named, since it's the default and
is used if you don't specify one at all.
-We did, however, set two parameters `-s` and `-rf`.
+We did, however, set two parameters `--shards` and `--replication-factor`.
Those are the number of shards to split the collection across (2) and how many
replicas to create (2).
This is equivalent to the options we had during the interactive example from
the first exercise.
@@ -94,7 +94,7 @@ WARNING: Using _default configset. Data driven schema
functionality is enabled b
NOT RECOMMENDED for production use.
To turn it off:
- bin/solr config -c films -p 7574 --action set-user-property
--property update.autoCreateFields --value false
+ bin/solr config --name films -p 7574 --action set-user-property
--property update.autoCreateFields --value false
Connecting to ZooKeeper at localhost:9983 ...
INFO - 2017-07-27 15:07:46.191;
org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider; Cluster at
localhost:9983 ready
diff --git
a/solr/solr-ref-guide/modules/getting-started/pages/tutorial-solrcloud.adoc
b/solr/solr-ref-guide/modules/getting-started/pages/tutorial-solrcloud.adoc
index f13380de719..b1dd0b2c04f 100644
--- a/solr/solr-ref-guide/modules/getting-started/pages/tutorial-solrcloud.adoc
+++ b/solr/solr-ref-guide/modules/getting-started/pages/tutorial-solrcloud.adoc
@@ -82,11 +82,11 @@ The script will start each node in order and show you the
command it uses to sta
[,console]
----
-$ bin/solr start --cloud -s example/cloud/node1/solr -p 8983
+$ bin/solr start --cloud --solr-home example/cloud/node1/solr -p 8983
----
The first node will also start an embedded ZooKeeper server bound to port 9983.
-The Solr home for the first node is in `example/cloud/node1/solr` as indicated
by the `-s` option.
+The Solr home for the first node is in `example/cloud/node1/solr` as indicated
by the `--solr-home` option.
After starting up all nodes in the cluster, the script prompts you for the
name of the collection to create:
@@ -176,14 +176,14 @@ For instance, to restart node1 running on port 8983 (with
an embedded ZooKeeper
[,console]
----
-$ bin/solr restart -c -p 8983 -s example/cloud/node1/solr
+$ bin/solr restart -c -p 8983 --solr-home example/cloud/node1/solr
----
To restart node2 running on port 7574, you can do:
[,console]
----
-$ bin/solr restart -c -p 7574 -z localhost:9983 -s example/cloud/node2/solr
+$ bin/solr restart -c -p 7574 -z localhost:9983 --solr-home
example/cloud/node2/solr
----
Notice that you need to specify the ZooKeeper address (`-z localhost:9983`)
when starting node2 so that it can join the cluster with node1.
@@ -196,7 +196,7 @@ Once you start a SolrCloud cluster using the startup
scripts, you can add a new
[,console]
----
$ mkdir <solr.home for new Solr node>
-$ bin/solr start --cloud -s <solr.home>/solr -p <port num> -z <zk hosts string>
+$ bin/solr start --cloud --solr-home <solr.home>/solr -p <port num> -z <zk
hosts string>
----
Notice that the above requires you to create a Solr home directory.
@@ -206,7 +206,7 @@ Example (with directory structure) that adds a node to an
example started with "
[,console]
----
$ mkdir -p example/cloud/node3/solr
-$ bin/solr start --cloud -s example/cloud/node3/solr -p 8987 -z localhost:9983
+$ bin/solr start --cloud --solr-home example/cloud/node3/solr -p 8987 -z
localhost:9983
----
The previous command will start another Solr node on port 8987 with Solr home
set to `example/cloud/node3/solr`.
diff --git
a/solr/solr-ref-guide/modules/getting-started/pages/tutorial-techproducts.adoc
b/solr/solr-ref-guide/modules/getting-started/pages/tutorial-techproducts.adoc
index 6877e453d90..ef9fab4d0cc 100644
---
a/solr/solr-ref-guide/modules/getting-started/pages/tutorial-techproducts.adoc
+++
b/solr/solr-ref-guide/modules/getting-started/pages/tutorial-techproducts.adoc
@@ -71,14 +71,14 @@ Cloning /solr-{solr-full-version}/example/cloud/node1 into
/solr-{solr-full-version}/example/cloud/node2
Starting up Solr on port 8983 using command:
-"bin/solr" start --cloud -p 8983 -s "example/cloud/node1/solr"
+"bin/solr" start --cloud -p 8983 --solr-home "example/cloud/node1/solr"
Waiting up to 180 seconds to see Solr running on port 8983 [\]
Started Solr server on port 8983 (pid=34942). Happy searching!
Starting up Solr on port 7574 using command:
-"bin/solr" start --cloud -p 7574 -s "example/cloud/node2/solr" -z
localhost:9983
+"bin/solr" start --cloud -p 7574 --solr-home "example/cloud/node2/solr" -z
localhost:9983
Waiting up to 180 seconds to see Solr running on port 7574 [\]
Started Solr server on port 7574 (pid=35036). Happy searching!