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 d96c6859821 SOLR-17352: Remove deprecated options from CLI (#2820)
d96c6859821 is described below
commit d96c6859821dadcd11187030684c00e6e8975480
Author: Eric Pugh <[email protected]>
AuthorDate: Fri Nov 1 13:03:11 2024 -0400
SOLR-17352: Remove deprecated options from CLI (#2820)
Options deprecated in 9x line of Solr are removed from the Solr CLI.
---
solr/CHANGES.txt | 2 +
solr/bin/solr | 47 +++---
solr/bin/solr.cmd | 45 ++----
solr/bin/solr.in.cmd | 4 +-
.../core/src/java/org/apache/solr/cli/ApiTool.java | 31 +---
.../src/java/org/apache/solr/cli/AssertTool.java | 162 +--------------------
.../src/java/org/apache/solr/cli/AuthTool.java | 61 --------
.../src/java/org/apache/solr/cli/ClusterTool.java | 3 +-
.../org/apache/solr/cli/ConfigSetDownloadTool.java | 48 +-----
.../org/apache/solr/cli/ConfigSetUploadTool.java | 48 +-----
.../src/java/org/apache/solr/cli/ConfigTool.java | 41 +-----
.../src/java/org/apache/solr/cli/CreateTool.java | 73 +---------
.../src/java/org/apache/solr/cli/DeleteTool.java | 63 +-------
.../src/java/org/apache/solr/cli/ExportTool.java | 33 +----
.../java/org/apache/solr/cli/HealthcheckTool.java | 3 -
.../java/org/apache/solr/cli/LinkConfigTool.java | 3 +-
.../src/java/org/apache/solr/cli/PackageTool.java | 21 +--
.../src/java/org/apache/solr/cli/PostLogsTool.java | 22 +--
.../src/java/org/apache/solr/cli/PostTool.java | 99 +------------
.../java/org/apache/solr/cli/RunExampleTool.java | 18 +--
.../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 | 18 ---
.../java/org/apache/solr/cli/SnapshotListTool.java | 1 -
.../core/src/java/org/apache/solr/cli/SolrCLI.java | 96 ++----------
.../src/java/org/apache/solr/cli/StatusTool.java | 2 +-
.../java/org/apache/solr/cli/UpdateACLTool.java | 2 +-
.../src/java/org/apache/solr/cli/ZkCpTool.java | 6 +-
.../src/java/org/apache/solr/cli/ZkLsTool.java | 6 +-
.../src/java/org/apache/solr/cli/ZkMkrootTool.java | 3 -
.../src/java/org/apache/solr/cli/ZkMvTool.java | 8 +-
.../src/java/org/apache/solr/cli/ZkRmTool.java | 6 +-
.../test/org/apache/solr/cli/CreateToolTest.java | 2 +-
.../test/org/apache/solr/cli/DeleteToolTest.java | 4 +-
.../test/org/apache/solr/cli/PackageToolTest.java | 2 +-
solr/packaging/test/test_bats.bats | 2 +-
solr/packaging/test/test_config.bats | 18 +--
solr/packaging/test/test_post.bats | 32 ++--
solr/packaging/test/test_postlogs.bats | 2 +-
solr/packaging/test/test_prometheus.bats | 4 +-
solr/packaging/test/test_snapshots.bats | 9 +-
solr/packaging/test/test_ssl.bats | 3 +-
solr/packaging/test/test_version.bats | 18 +--
solr/packaging/test/test_zk.bats | 18 +--
solr/prometheus-exporter/bin/solr-exporter | 8 +-
solr/prometheus-exporter/bin/solr-exporter.cmd | 8 +-
.../solr/prometheus/exporter/SolrExporter.java | 140 ++----------------
.../deployment-guide/pages/enabling-ssl.adoc | 6 +-
.../monitoring-with-prometheus-and-grafana.adoc | 16 +-
50 files changed, 178 insertions(+), 1092 deletions(-)
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 83327d8605b..8ed458efdb0 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -78,6 +78,8 @@ Deprecation Removals
* SOLR-17494: Remove language specific writer types (i.e wt= ruby, python,
php, and phps). (Eric Pugh)
+* SOLR-17352: Remove deprecated Solr CLI options. Run bin/solr yourcommand -h
to see current options. (Eric Pugh, Christos Malliardis)
+
Dependency Upgrades
---------------------
(No changes)
diff --git a/solr/bin/solr b/solr/bin/solr
index d036a696400..f51011444e1 100755
--- a/solr/bin/solr
+++ b/solr/bin/solr
@@ -369,7 +369,7 @@ function print_usage() {
echo ""
echo "Usage: solr $CMD [-f] [--user-managed] [--host host] [-p port]
[--server-dir directory] [-z zkHost] [-m memory] [-e example] [--solr-home
solr.solr.home] [--data-home solr.data.home] [--jvm-opts \"jvm-opts\"]
[--verbose]"
echo ""
- echo " -f Start Solr in foreground; default starts
Solr in the background"
+ echo " -f/--foreground Start Solr in foreground; default starts
Solr in the background"
echo " and sends stdout / stderr to
solr-PORT-console.log"
echo ""
echo " --user-managed Start Solr in user managed aka standalone
mode"
@@ -403,7 +403,7 @@ function print_usage() {
echo " --data-home <dir> Sets the solr.data.home system property,
where Solr will store index data in <instance_dir>/data subdirectories."
echo " If not set, Solr uses solr.solr.home for
config and data."
echo ""
- echo " -e <example> Name of the example to run; available
examples:"
+ echo " -e/--example <name> Name of the example to run; available
examples:"
echo " cloud: SolrCloud example"
echo " techproducts: Comprehensive example illustrating many of
Solr's core capabilities"
echo " schemaless: Schema-less example (schema is inferred
from data during indexing)"
@@ -419,7 +419,7 @@ function print_usage() {
echo " you could pass: -j
\"--include-jetty-dir=/etc/jetty/custom/server/\""
echo " In most cases, you should wrap the
additional parameters in double quotes."
echo ""
- echo " --no-prompt Don't prompt for input; accept all defaults
when running examples that accept user input"
+ echo " -y/--no-prompt Don't prompt for input; accept all defaults
when running examples that accept user input"
echo ""
echo " --force If attempting to start Solr as the root
user, the script will exit with a warning that running Solr as \"root\" can
cause problems."
echo " It is possible to override this warning
with the '--force' parameter."
@@ -574,7 +574,7 @@ function stop_solr() {
if [ $# -eq 1 ]; then
case $1 in
- --help|-h|-help)
+ --help|-h)
run_tool ""
exit
;;
@@ -694,7 +694,7 @@ if [ $# -gt 0 ]; then
PASS_TO_RUN_EXAMPLE+=("--user-managed")
shift
;;
- -d|--dir|-dir|--server-dir)
+ --server-dir)
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
print_usage "$SCRIPT_CMD" "Server directory is required when
using the $1 option!"
exit 1
@@ -714,7 +714,7 @@ if [ $# -gt 0 ]; then
SOLR_SERVER_DIR="$(cd "$SOLR_SERVER_DIR" || (echo "SOLR_SERVER_DIR
not found" && exit 1); pwd)"
shift 2
;;
- -s|--solr-home|-solr.home)
+ --solr-home)
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
print_usage "$SCRIPT_CMD" "Solr home directory is required when
using the $1 option!"
exit 1
@@ -723,11 +723,15 @@ if [ $# -gt 0 ]; then
SOLR_HOME="$2"
shift 2
;;
- -t|--data-home|-data.home)
+ --data-home)
+ if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
+ print_usage "$SCRIPT_CMD" "Data home directory is required when
using the $1 option!"
+ exit 1
+ fi
SOLR_DATA_HOME="$2"
shift 2
;;
- -e|--example|-example)
+ -e|--example)
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
print_usage "$SCRIPT_CMD" "Example name is required when using
the $1 option!"
exit 1
@@ -735,11 +739,11 @@ if [ $# -gt 0 ]; then
EXAMPLE="$2"
shift 2
;;
- -f|--foreground|-foreground)
+ -f|--foreground)
FG="true"
shift
;;
- --host|-host)
+ --host)
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
print_usage "$SCRIPT_CMD" "Hostname is required when using the
$1 option!"
exit 1
@@ -748,7 +752,7 @@ if [ $# -gt 0 ]; then
PASS_TO_RUN_EXAMPLE+=("--host" "$SOLR_HOST")
shift 2
;;
- -m|--memory|-memory)
+ -m|--memory)
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
print_usage "$SCRIPT_CMD" "Memory setting is required when using
the $1 option!"
exit 1
@@ -757,7 +761,7 @@ if [ $# -gt 0 ]; then
PASS_TO_RUN_EXAMPLE+=("-m" "$SOLR_HEAP")
shift 2
;;
- -p|--port|-port)
+ -p|--port)
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
print_usage "$SCRIPT_CMD" "Port number is required when using
the $1 option!"
exit 1
@@ -767,7 +771,7 @@ if [ $# -gt 0 ]; then
PASS_TO_RUN_EXAMPLE+=("-p" "$SOLR_PORT")
shift 2
;;
- -z|--zk-host|-zkHost|--zkHost)
+ -z|--zk-host)
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
print_usage "$SCRIPT_CMD" "Zookeeper connection string is
required when using the $1 option!"
exit 1
@@ -776,7 +780,7 @@ if [ $# -gt 0 ]; then
PASS_TO_RUN_EXAMPLE+=("-z" "$ZK_HOST")
shift 2
;;
- -a|--jvm-opts|-addlopts)
+ --jvm-opts)
if [[ -z "$2" ]]; then
print_usage "$SCRIPT_CMD" "JVM options are required when using
the $1 option!"
exit 1
@@ -785,16 +789,15 @@ if [ $# -gt 0 ]; then
PASS_TO_RUN_EXAMPLE+=("--jvm-opts" "$ADDITIONAL_CMD_OPTS")
shift 2
;;
- -j|--jettyconfig|-jettyconfig)
+ -j|--jettyconfig)
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
print_usage "$SCRIPT_CMD" "Jetty config is required when using
the $1 option!"
exit 1
fi
ADDITIONAL_JETTY_CONFIG="$2"
- PASS_TO_RUN_EXAMPLE+=("-j" "$ADDITIONAL_JETTY_CONFIG")
shift 2
;;
- -k|--key|-key)
+ -k|--key)
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
print_usage "$SCRIPT_CMD" "Stop key is required when using the
$1 option!"
exit 1
@@ -802,15 +805,15 @@ if [ $# -gt 0 ]; then
STOP_KEY="$2"
shift 2
;;
- -h|--help|-help)
+ -h|--help)
print_usage "$SCRIPT_CMD"
exit 0
;;
- --noprompt|-noprompt|--no-prompt)
+ -y|--no-prompt)
PASS_TO_RUN_EXAMPLE+=("--no-prompt")
shift
;;
- -V|--verbose|-verbose|-v)
+ --verbose)
verbose=true
SOLR_LOG_LEVEL=DEBUG
PASS_TO_RUN_EXAMPLE+=("--verbose")
@@ -820,11 +823,11 @@ if [ $# -gt 0 ]; then
SOLR_LOG_LEVEL=WARN
shift
;;
- --all|-all)
+ --all)
stop_all=true
shift
;;
- --force|-force)
+ --force)
FORCE=true
PASS_TO_RUN_EXAMPLE+=("--force")
shift
diff --git a/solr/bin/solr.cmd b/solr/bin/solr.cmd
index ce6f2aea386..783a4feed00 100755
--- a/solr/bin/solr.cmd
+++ b/solr/bin/solr.cmd
@@ -248,17 +248,12 @@ set FIRST_ARG=%1
IF [%1]==[] goto usage
-REM -help is a special case to faciliate folks learning about how to use Solr.
-IF "%1"=="-help" goto run_solrcli
-IF "%1"=="-usage" goto run_solrcli
IF "%1"=="-h" goto run_solrcli
IF "%1"=="--help" goto run_solrcli
-IF "%1"=="-help" goto run_solrcli
-IF "%1"=="/?" goto run_solrcli
IF "%1"=="status" goto run_solrcli
IF "%1"=="version" goto run_solrcli
IF "%1"=="-v" goto run_solrcli
-IF "%1"=="-version" goto run_solrcli
+IF "%1"=="--version" goto run_solrcli
IF "%1"=="assert" goto run_solrcli
IF "%1"=="zk" goto run_solrcli
IF "%1"=="export" goto run_solrcli
@@ -287,11 +282,8 @@ goto parse_args
:usage
IF NOT "%SCRIPT_ERROR%"=="" ECHO %SCRIPT_ERROR%
IF [%FIRST_ARG%]==[] goto run_solrcli
-IF "%FIRST_ARG%"=="-help" goto run_solrcli
-IF "%FIRST_ARG%"=="-usage" goto run_solrcli
IF "%FIRST_ARG%"=="-h" goto run_solrcli
IF "%FIRST_ARG%"=="--help" goto run_solrcli
-IF "%FIRST_ARG%"=="/?" goto run_solrcli
IF "%SCRIPT_CMD%"=="start" goto start_usage
IF "%SCRIPT_CMD%"=="restart" goto start_usage
IF "%SCRIPT_CMD%"=="stop" goto stop_usage
@@ -310,7 +302,7 @@ goto done
@echo.
@echo Usage: solr %SCRIPT_CMD% [-f] [--user-managed] [--host hostname] [-p
port] [--server-dir directory] [-z zkHost] [-m memory] [-e example]
[--solr-home solr.solr.home] [--data-home solr.data.home] [--jvm-opts
"jvm-opts"] [--verbose]
@echo.
-@echo -f Start Solr in foreground; default starts Solr in the
background
+@echo -f/--foreground Start Solr in foreground; default starts Solr in the
background
@echo and sends stdout / stderr to solr-PORT-console.log
@echo.
@echo --user-managed Start Solr in user managed aka standalone mode"
@@ -318,7 +310,7 @@ goto done
@echo.
@echo --host host Specify the hostname for this Solr instance
@echo.
-@echo -p port Specify the port to start the Solr HTTP listener on;
default is 8983
+@echo -p/--port port Specify the port to start the Solr HTTP listener on;
default is 8983
@echo The specified port (SOLR_PORT) will also be used to
determine the stop port
@echo STOP_PORT=(%%SOLR_PORT%%-1000) and JMX RMI listen port
RMI_PORT=(%%SOLR_PORT%%+10000).
@echo For instance, if you set -p 8985, then the
STOP_PORT=7985 and RMI_PORT=18985
@@ -330,10 +322,10 @@ goto done
@echo an embedded ZooKeeper instance will be launched.
@echo Set the ZK_CREATE_CHROOT environment variable to true
if your ZK host has a chroot path, and you want to create it automatically."
@echo.
-@echo -m memory Sets the min (-Xms) and max (-Xmx) heap size for the
JVM, such as: -m 4g
+@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 --solr.home 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
--server-dir parameter. If set, the
@echo specified directory should contain a solr.xml file,
unless solr.xml exists in Zookeeper.
@@ -344,7 +336,7 @@ goto done
@echo --data-home dir Sets the solr.data.home system property, where Solr
will store index data in ^<instance_dir^>/data subdirectories.
@echo If not set, Solr uses solr.solr.home for both config
and data.
@echo.
-@echo -e example Name of the example to run; available examples:
+@echo -e/--example name Name of the example to run; available examples:
@echo cloud: SolrCloud example
@echo techproducts: Comprehensive example illustrating many of Solr's
core capabilities
@echo schemaless: Schema-less example (schema is inferred from data
during indexing)
@@ -360,7 +352,7 @@ goto done
@echo you could pass: -j
"--include-jetty-dir=/etc/jetty/custom/server/"
@echo In most cases, you should wrap the additional parameters
in double quotes.
@echo.
-@echo --no-prompt Don't prompt for input; accept all defaults when running
examples that accept user input
+@echo -y/--no-prompt Don't prompt for input; accept all defaults when
running examples that accept user input
@echo.
@echo --verbose and -q/--quiet Verbose or quiet logging. Sets default log
level to DEBUG or WARN instead of INFO
@echo.
@@ -390,25 +382,16 @@ set "arg=%~1"
set "firstTwo=%arg:~0,2%"
IF "%SCRIPT_CMD%"=="" set SCRIPT_CMD=start
IF [%1]==[] goto process_script_cmd
-IF "%1"=="-help" goto usage
+IF "%1"=="--help" goto usage
IF "%1"=="-h" goto usage
-IF "%1"=="-usage" goto usage
-IF "%1"=="/?" goto usage
IF "%1"=="-f" goto set_foreground_mode
IF "%1"=="--foreground" goto set_foreground_mode
-IF "%1"=="-V" goto set_verbose
IF "%1"=="--verbose" goto set_verbose
-IF "%1"=="-v" goto set_verbose
IF "%1"=="-q" goto set_warn
IF "%1"=="--quiet" goto set_warn
IF "%1"=="--user-managed" goto set_user_managed_mode
-IF "%1"=="-d" goto set_server_dir
-IF "%1"=="--dir" goto set_server_dir
IF "%1"=="--server-dir" goto set_server_dir
-IF "%1"=="-s" goto set_solr_home_dir
IF "%1"=="--solr-home" goto set_solr_home_dir
-IF "%1"=="-t" goto set_solr_data_dir
-IF "%1"=="--solr-data" goto set_solr_data_dir
IF "%1"=="--data-home" goto set_solr_data_dir
IF "%1"=="-e" goto set_example
IF "%1"=="--example" goto set_example
@@ -419,21 +402,16 @@ IF "%1"=="-p" goto set_port
IF "%1"=="--port" goto set_port
IF "%1"=="-z" goto set_zookeeper
IF "%1"=="--zk-host" goto set_zookeeper
-IF "%1"=="-zkHost" goto set_zookeeper
-IF "%1"=="--zkHost" goto set_zookeeper
IF "%1"=="-s" goto set_solr_url
IF "%1"=="--solr-url" goto set_solr_url
-IF "%1"=="-solrUrl" goto set_solr_url
-IF "%1"=="-a" goto set_jvm_opts
IF "%1"=="--jvm-opts" goto set_jvm_opts
IF "%1"=="-j" goto set_addl_jetty_config
IF "%1"=="--jettyconfig" goto set_addl_jetty_config
-IF "%1"=="--noprompt" goto set_noprompt
IF "%1"=="--no-prompt" goto set_noprompt
+IF "%1"=="-y" goto set_noprompt
IF "%1"=="-k" goto set_stop_key
IF "%1"=="--key" goto set_stop_key
IF "%1"=="--all" goto set_stop_all
-IF "%1"=="-all" goto set_stop_all
IF "%firstTwo%"=="-D" goto set_passthru
IF NOT "%1"=="" goto invalid_cmd_line
goto invalid_cmd_line
@@ -1180,10 +1158,7 @@ goto done
IF [%1]==[] goto run_config
IF "%1"=="-z" goto set_config_zk
IF "%1"=="--zk-host" goto set_config_zk
-IF "%1"=="-zkHost" goto set_config_zk
-IF "%1"=="--zkHost" goto set_config_zk
-IF "%1"=="-s" goto set_config_url_scheme
-IF "%1"=="-scheme" goto set_config_url_scheme
+IF "%1"=="--scheme" goto set_config_url_scheme
set "CONFIG_ARGS=!CONFIG_ARGS! %1"
SHIFT
goto parse_config_args
diff --git a/solr/bin/solr.in.cmd b/solr/bin/solr.in.cmd
index 9c2d9822eb2..ac058eae131 100755
--- a/solr/bin/solr.in.cmd
+++ b/solr/bin/solr.in.cmd
@@ -90,7 +90,7 @@ REM set RMI_PORT=18983
REM Anything you add to the SOLR_OPTS variable will be included in the java
REM start command line as-is, in ADDITION to other options. If you specify the
-REM -a option on start script, those options will be appended as well.
Examples:
+REM --jvm-opts option on start script, those options will be appended as well.
Examples:
REM set SOLR_OPTS=%SOLR_OPTS% -Dsolr.autoSoftCommit.maxTime=3000
REM set SOLR_OPTS=%SOLR_OPTS% -Dsolr.autoCommit.maxTime=60000
@@ -255,4 +255,4 @@ REM set SOLR_MODULES=extraction,ltr
REM Configure the default replica placement plugin to use if one is not
configured in cluster properties
REM See
https://solr.apache.org/guide/solr/latest/configuration-guide/replica-placement-plugins.html
for details
-REM set SOLR_PLACEMENTPLUGIN_DEFAULT=simple
\ No newline at end of file
+REM set SOLR_PLACEMENTPLUGIN_DEFAULT=simple
diff --git a/solr/core/src/java/org/apache/solr/cli/ApiTool.java
b/solr/core/src/java/org/apache/solr/cli/ApiTool.java
index 76c6aa6f60f..e9af6116fa9 100644
--- a/solr/core/src/java/org/apache/solr/cli/ApiTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ApiTool.java
@@ -21,7 +21,6 @@ import java.io.PrintStream;
import java.net.URI;
import java.util.List;
import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.DeprecatedAttributes;
import org.apache.commons.cli.Option;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.impl.JsonMapResponseParser;
@@ -57,20 +56,7 @@ public class ApiTool extends ToolBase {
.longOpt("solr-url")
.argName("URL")
.hasArg()
- .required(false) // swap back to required when we eliminate
deprecated option
- .desc("Send a GET request to a Solr API endpoint.")
- .build(),
- Option.builder("get")
- .longOpt("get")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.7")
- .setDescription("Use --solr-url instead")
- .get())
- .argName("URL")
- .hasArg()
- .required(false)
+ .required(true)
.desc("Send a GET request to a Solr API endpoint.")
.build(),
SolrCLI.OPTION_CREDENTIALS);
@@ -78,16 +64,11 @@ public class ApiTool extends ToolBase {
@Override
public void runImpl(CommandLine cli) throws Exception {
- String response = null;
- String getUrl =
- cli.hasOption("solr-url") ? cli.getOptionValue("solr-url") :
cli.getOptionValue("get");
- if (getUrl != null) {
- response = callGet(getUrl,
cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt()));
- }
- if (response != null) {
- // pretty-print the response to stdout
- echo(response);
- }
+ String getUrl = cli.getOptionValue("solr-url");
+ String response = callGet(getUrl,
cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt()));
+
+ // pretty-print the response to stdout
+ echo(response);
}
protected String callGet(String url, String credentials) throws Exception {
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 5f5d27c3ee0..966e7993146 100644
--- a/solr/core/src/java/org/apache/solr/cli/AssertTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/AssertTool.java
@@ -26,7 +26,6 @@ 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;
@@ -61,54 +60,14 @@ public class AssertTool extends ToolBase {
@Override
public List<Option> getOptions() {
return List.of(
- Option.builder("R")
- .desc("Asserts that we are NOT the root user.")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --not-root instead")
- .get())
- .build(),
Option.builder().desc("Asserts that we are NOT the root
user.").longOpt("not-root").build(),
- Option.builder("r")
- .desc("Asserts that we are the root user.")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --root instead")
- .get())
- .build(),
Option.builder().desc("Asserts that we are the root
user.").longOpt("root").build(),
- 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 NOT running on a certain URL. Default
timeout is 1000ms.")
.longOpt("not-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 Solr is running on a certain URL. Default
timeout is 1000ms.")
.longOpt("started")
@@ -121,52 +80,18 @@ public class AssertTool extends ToolBase {
.hasArg(true)
.argName("directory")
.build(),
- Option.builder("x")
- .desc("Asserts that directory <directory> exists.")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --exists instead")
- .get())
- .hasArg(true)
- .argName("directory")
- .build(),
Option.builder()
.desc("Asserts that directory <directory> exists.")
.longOpt("exists")
.hasArg(true)
.argName("directory")
.build(),
- Option.builder("X")
- .desc("Asserts that directory <directory> does NOT exist.")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --not-exists instead")
- .get())
- .hasArg(true)
- .argName("directory")
- .build(),
Option.builder()
.desc("Asserts that directory <directory> does NOT exist.")
.longOpt("not-exists")
.hasArg(true)
.argName("directory")
.build(),
- Option.builder("c")
- .desc(
- "Asserts that Solr is running in cloud mode. Also fails if
Solr not running. URL should be for root Solr path.")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --cloud instead")
- .get())
- .hasArg(true)
- .argName("url")
- .build(),
Option.builder()
.desc(
"Asserts that Solr is running in cloud mode. Also fails if
Solr not running. URL should be for root Solr path.")
@@ -174,18 +99,6 @@ public class AssertTool extends ToolBase {
.hasArg(true)
.argName("url")
.build(),
- Option.builder("C")
- .desc(
- "Asserts that Solr is not running in cloud mode. Also fails
if Solr not running. URL should be for root Solr path.")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --not-cloud instead")
- .get())
- .hasArg(true)
- .argName("url")
- .build(),
Option.builder()
.desc(
"Asserts that Solr is not running in cloud mode. Also fails
if Solr not running. URL should be for root Solr path.")
@@ -193,35 +106,12 @@ public class AssertTool extends ToolBase {
.hasArg(true)
.argName("url")
.build(),
- Option.builder("m")
- .desc("Exception message to be used in place of the default error
message.")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --message instead")
- .get())
- .hasArg(true)
- .argName("message")
- .build(),
Option.builder()
.desc("Exception message to be used in place of the default error
message.")
.longOpt("message")
.hasArg(true)
.argName("message")
.build(),
- Option.builder("t")
- .desc("Timeout in ms for commands supporting a timeout.")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --timeout instead")
- .get())
- .hasArg(true)
- .type(Long.class)
- .argName("ms")
- .build(),
Option.builder()
.desc("Timeout in ms for commands supporting a timeout.")
.longOpt("timeout")
@@ -229,15 +119,6 @@ public class AssertTool extends ToolBase {
.type(Long.class)
.argName("ms")
.build(),
- Option.builder("e")
- .desc("Return an exit code instead of printing error message on
assert fail.")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --exitcode instead")
- .get())
- .build(),
Option.builder()
.desc("Return an exit code instead of printing error message on
assert fail.")
.longOpt("exitcode")
@@ -250,7 +131,7 @@ public class AssertTool extends ToolBase {
* Otherwise, very similar to the parent runTool method.
*
* @param cli the command line object
- * @return 0 on success, or a number corresponding to number of tests that
failed, or 100 for a
+ * @return 0 on success, or a number corresponding to number of tests that
failed, or 100 for an
* Error
* @throws Exception if a tool failed, e.g. authentication failure
*/
@@ -297,82 +178,47 @@ public class AssertTool extends ToolBase {
if (cli.hasOption("message")) {
message = cli.getOptionValue("message");
}
- if (cli.hasOption("t")) {
- timeoutMs = Long.parseLong(cli.getOptionValue("t"));
- }
if (cli.hasOption("timeout")) {
- timeoutMs = Long.parseLong(cli.getOptionValue("timeout"));
- }
- if (cli.hasOption("e")) {
- useExitCode = true;
+ timeoutMs = cli.getParsedOptionValue("timeout");
}
if (cli.hasOption("exitcode")) {
useExitCode = true;
}
int ret = 0;
- if (cli.hasOption("root") || cli.hasOption("r")) {
+ if (cli.hasOption("root")) {
ret += assertRootUser();
}
- if (cli.hasOption("not-root") || cli.hasOption("R")) {
+ if (cli.hasOption("not-root")) {
ret += assertNotRootUser();
}
- if (cli.hasOption("x")) {
- ret += assertFileExists(cli.getOptionValue("x"));
- }
if (cli.hasOption("exists")) {
ret += assertFileExists(cli.getOptionValue("exists"));
}
- if (cli.hasOption("X")) {
- ret += assertFileNotExists(cli.getOptionValue("X"));
- }
if (cli.hasOption("not-exists")) {
ret += assertFileNotExists(cli.getOptionValue("not-exists"));
}
if (cli.hasOption("same-user")) {
ret += sameUser(cli.getOptionValue("same-user"));
}
- if (cli.hasOption("s")) {
- ret +=
- assertSolrRunning(
- cli.getOptionValue("s"),
cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt()));
- }
if (cli.hasOption("started")) {
ret +=
assertSolrRunning(
cli.getOptionValue("started"),
cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt()));
}
- if (cli.hasOption("S")) {
- ret +=
- assertSolrNotRunning(
- SolrCLI.getOptionWithDeprecatedAndDefault(cli, "not-started",
"S", null),
- cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt()));
- }
if (cli.hasOption("not-started")) {
ret +=
assertSolrNotRunning(
cli.getOptionValue("not-started"),
cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt()));
}
- if (cli.hasOption("c")) {
- ret +=
- assertSolrRunningInCloudMode(
- SolrCLI.normalizeSolrUrl(cli.getOptionValue("c")),
- cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt()));
- }
if (cli.hasOption("cloud")) {
ret +=
assertSolrRunningInCloudMode(
SolrCLI.normalizeSolrUrl(cli.getOptionValue("cloud")),
cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt()));
}
- if (cli.hasOption("C")) {
- ret +=
- assertSolrNotRunningInCloudMode(
- SolrCLI.normalizeSolrUrl(cli.getOptionValue("C")),
- cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt()));
- }
if (cli.hasOption("not-cloud")) {
ret +=
assertSolrNotRunningInCloudMode(
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 6000e1e8667..bc091073170 100644
--- a/solr/core/src/java/org/apache/solr/cli/AuthTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/AuthTool.java
@@ -35,7 +35,6 @@ import java.util.List;
import java.util.Locale;
import java.util.stream.Collectors;
import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.DeprecatedAttributes;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.lucene.util.Constants;
@@ -112,20 +111,6 @@ public class AuthTool extends ToolBase {
.hasArg()
.argName("true|false")
.build(),
- Option.builder("blockUnknown")
- .longOpt("blockUnknown")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --block-unknown instead")
- .get())
- .hasArg()
- .argName("true|false")
- .required(false)
- .desc(
- "Blocks all access for unknown users (requires authentication
for all endpoints).")
- .build(),
Option.builder()
.longOpt("solr-include-file")
.hasArg()
@@ -133,20 +118,6 @@ public class AuthTool extends ToolBase {
.desc(
"The Solr include file which contains overridable environment
variables for configuring Solr configurations.")
.build(),
- Option.builder("solrIncludeFile")
- .longOpt("solrIncludeFile")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.7")
- .setDescription("Use --solr-include-file instead")
- .get())
- .hasArg()
- .argName("FILE")
- .required(false)
- .desc(
- "The Solr include file which contains overridable environment
variables for configuring Solr configurations.")
- .build(),
Option.builder()
.longOpt("update-include-file-only")
.desc(
@@ -154,21 +125,6 @@ public class AuthTool extends ToolBase {
+ " authentication (i.e. don't update security.json).")
.hasArg()
.build(),
- Option.builder()
- .longOpt("updateIncludeFileOnly")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --update-include-file-only instead")
- .get())
- .hasArg()
- .argName("true|false")
- .required(false)
- .desc(
- "Only update the solr.in.sh or solr.in.cmd file, and skip
actual enabling/disabling"
- + " authentication (i.e. don't update security.json).")
- .build(),
Option.builder()
.longOpt("auth-conf-dir")
.hasArg()
@@ -177,25 +133,8 @@ public class AuthTool extends ToolBase {
.desc(
"This is where any authentication related configuration files,
if any, would be placed.")
.build(),
- Option.builder("solrIncludeFile")
- .longOpt("solrIncludeFile")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.7")
- .setDescription("Use --solr-include-file instead")
- .get())
- .hasArg()
- .argName("FILE")
- .required(false)
- .desc(
- "The Solr include file which contains overridable environment
variables for configuring Solr configurations.")
- .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/ClusterTool.java
b/solr/core/src/java/org/apache/solr/cli/ClusterTool.java
index 23300bc8800..8b6bd17f56b 100644
--- a/solr/core/src/java/org/apache/solr/cli/ClusterTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ClusterTool.java
@@ -66,8 +66,7 @@ public class ClusterTool extends ToolBase {
.required(false)
.desc("Set the property to this value.")
.build(),
- SolrCLI.OPTION_ZKHOST,
- SolrCLI.OPTION_ZKHOST_DEPRECATED);
+ SolrCLI.OPTION_ZKHOST);
}
@Override
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 2a987b7bdce..b0e5aaa6d4a 100644
--- a/solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java
@@ -23,7 +23,6 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.DeprecatedAttributes;
import org.apache.commons.cli.Option;
import org.apache.solr.common.cloud.SolrZkClient;
import org.slf4j.Logger;
@@ -48,47 +47,18 @@ public class ConfigSetDownloadTool extends ToolBase {
.longOpt("conf-name")
.hasArg()
.argName("NAME")
- .required(false) // should be true, but we have deprecated option
as well.
- .desc("Configset name in ZooKeeper.")
- .build(),
- Option.builder()
- .longOpt("confname")
- .hasArg()
- .argName("NAME")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --conf-name instead")
- .get())
- .required(false)
+ .required(true)
.desc("Configset name in ZooKeeper.")
.build(),
Option.builder("d")
.longOpt("conf-dir")
.hasArg()
.argName("DIR")
- .required(false) // should be true, but we have deprecated option
as well.
- .desc("Local directory with configs.")
- .build(),
- Option.builder()
- .longOpt("confdir")
- .hasArg()
- .argName("NAME")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --conf-dir instead")
- .get())
- .required(false)
+ .required(true)
.desc("Local directory with configs.")
.build(),
SolrCLI.OPTION_SOLRURL,
- SolrCLI.OPTION_SOLRURL_DEPRECATED,
- SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
- SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
}
@@ -107,17 +77,11 @@ public class ConfigSetDownloadTool extends ToolBase {
SolrCLI.raiseLogLevelUnlessVerbose(cli);
String zkHost = SolrCLI.getZkHost(cli);
- try (SolrZkClient zkClient = SolrCLI.getSolrZkClient(cli, zkHost)) {
- echoIfVerbose("\nConnecting to ZooKeeper at " + zkHost + " ...");
- String confName =
- cli.hasOption("conf-name")
- ? cli.getOptionValue("conf-name")
- : cli.getOptionValue("confname");
- String confDir =
- cli.hasOption("conf-dir")
- ? cli.getOptionValue("conf-dir")
- : cli.getOptionValue("confdir");
+ String confName = cli.getOptionValue("conf-name");
+ String confDir = cli.getOptionValue("conf-dir");
+ echoIfVerbose("\nConnecting to ZooKeeper at " + zkHost + " ...");
+ try (SolrZkClient zkClient = SolrCLI.getSolrZkClient(cli, zkHost)) {
Path configSetPath = Paths.get(confDir);
// we try to be nice about having the "conf" in the directory, and we
create it if it's not
// there.
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 3799b498c4e..597b901c7d0 100644
--- a/solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java
@@ -22,7 +22,6 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.DeprecatedAttributes;
import org.apache.commons.cli.Option;
import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.cloud.ZkMaintenanceUtils;
@@ -50,47 +49,18 @@ public class ConfigSetUploadTool extends ToolBase {
.longOpt("conf-name")
.hasArg()
.argName("NAME")
- .required(false) // should be true, but we have deprecated option
as well.
- .desc("Configset name in ZooKeeper.")
- .build(),
- Option.builder()
- .longOpt("confname")
- .hasArg()
- .argName("NAME")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --conf-name instead")
- .get())
- .required(false)
+ .required(true)
.desc("Configset name in ZooKeeper.")
.build(),
Option.builder("d")
.longOpt("conf-dir")
.hasArg()
.argName("DIR")
- .required(false) // should be true, but we have deprecated option
as well.
- .desc("Local directory with configs.")
- .build(),
- Option.builder()
- .longOpt("confdir")
- .hasArg()
- .argName("DIR")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --conf-dir instead")
- .get())
- .required(false)
+ .required(true)
.desc("Local directory with configs.")
.build(),
SolrCLI.OPTION_SOLRURL,
- SolrCLI.OPTION_SOLRURL_DEPRECATED,
- SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
- SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
}
@@ -112,15 +82,11 @@ public class ConfigSetUploadTool extends ToolBase {
final String solrInstallDir = System.getProperty("solr.install.dir");
Path solrInstallDirPath = Paths.get(solrInstallDir);
- String confName =
- cli.hasOption("conf-name")
- ? cli.getOptionValue("conf-name")
- : cli.getOptionValue("confname");
- String confDir =
- cli.hasOption("conf-dir") ? cli.getOptionValue("conf-dir") :
cli.getOptionValue("confdir");
- try (SolrZkClient zkClient = SolrCLI.getSolrZkClient(cli, zkHost)) {
- echoIfVerbose("\nConnecting to ZooKeeper at " + zkHost + " ...");
+ String confName = cli.getOptionValue("conf-name");
+ String confDir = cli.getOptionValue("conf-dir");
+ echoIfVerbose("\nConnecting to ZooKeeper at " + zkHost + " ...");
+ try (SolrZkClient zkClient = SolrCLI.getSolrZkClient(cli, zkHost)) {
final Path configsetsDirPath =
SolrCLI.getConfigSetsDir(solrInstallDirPath);
Path confPath = ConfigSetService.getConfigsetPath(confDir,
configsetsDirPath.toString());
@@ -128,7 +94,7 @@ public class ConfigSetUploadTool extends ToolBase {
"Uploading "
+ confPath.toAbsolutePath()
+ " for config "
- + cli.getOptionValue("conf-name")
+ + confName
+ " to ZooKeeper at "
+ zkHost);
FileTypeMagicUtil.assertConfigSetFolderLegal(confPath);
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 f1a90c071a7..5cc3f0909d6 100644
--- a/solr/core/src/java/org/apache/solr/cli/ConfigTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ConfigTool.java
@@ -22,7 +22,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.DeprecatedAttributes;
import org.apache.commons.cli.MissingArgumentException;
import org.apache.commons.cli.Option;
import org.apache.solr.client.solrj.SolrClient;
@@ -72,37 +71,10 @@ public class ConfigTool extends ToolBase {
.longOpt("property")
.argName("PROP")
.hasArg()
- .required(
- false) // Should be TRUE but have a deprecated option to deal
with first, so we
- // enforce in code
- .desc(
- "Name of the Config API property to apply the action to, such
as: 'updateHandler.autoSoftCommit.maxTime'.")
- .build(),
- Option.builder("p")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --property instead")
- .get())
- .hasArg()
- .argName("PROP")
- .required(false)
+ .required(true)
.desc(
"Name of the Config API property to apply the action to, such
as: 'updateHandler.autoSoftCommit.maxTime'.")
.build(),
- Option.builder("v")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --value instead")
- .get())
- .argName("VALUE")
- .hasArg()
- .required(false)
- .desc("Set the property to this value; accepts JSON objects and
strings.")
- .build(),
Option.builder()
.longOpt("value")
.argName("VALUE")
@@ -111,10 +83,7 @@ public class ConfigTool extends ToolBase {
.desc("Set the property to this value; accepts JSON objects and
strings.")
.build(),
SolrCLI.OPTION_SOLRURL,
- SolrCLI.OPTION_SOLRURL_DEPRECATED,
- SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
- SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
}
@@ -123,12 +92,8 @@ public class ConfigTool extends ToolBase {
String solrUrl = SolrCLI.normalizeSolrUrl(cli);
String action = cli.getOptionValue("action", "set-property");
String collection = cli.getOptionValue("name");
- String property = SolrCLI.getOptionWithDeprecatedAndDefault(cli,
"property", "p", null);
- String value = SolrCLI.getOptionWithDeprecatedAndDefault(cli, "value",
"v", null);
-
- if (property == null) {
- throw new MissingArgumentException("'property' is a required option.");
- }
+ String property = cli.getOptionValue("property");
+ String value = cli.getOptionValue("value");
// value is required unless the property is one of the unset- type.
if (!action.contains("unset-") && value == null) {
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 41742c600a8..6c14ed6e21e 100644
--- a/solr/core/src/java/org/apache/solr/cli/CreateTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/CreateTool.java
@@ -27,7 +27,6 @@ import java.util.Map;
import java.util.Set;
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.commons.io.FileUtils;
import org.apache.commons.io.file.PathUtils;
@@ -97,20 +96,6 @@ public class CreateTool extends ToolBase {
.desc(
"Number of copies of each document across the collection
(replicas per shard); default is 1.")
.build(),
- Option.builder()
- .longOpt("replicationFactor")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.7")
- .setDescription("Use --replication-factor instead")
- .get())
- .hasArg()
- .argName("#")
- .required(false)
- .desc(
- "Number of copies of each document across the collection
(replicas per shard); default is 1.")
- .build(),
Option.builder("d")
.longOpt("conf-dir")
.argName("DIR")
@@ -120,22 +105,6 @@ public class CreateTool extends ToolBase {
+ SolrCLI.DEFAULT_CONFIG_SET
+ '.')
.build(),
- Option.builder("confdir")
- .longOpt("confdir")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.7")
- .setDescription("Use --conf-dir instead")
- .get())
- .argName("DIR")
- .hasArg()
- .required(false)
- .desc(
- "Configuration directory to copy when creating the new
collection; default is "
- + SolrCLI.DEFAULT_CONFIG_SET
- + '.')
- .build(),
Option.builder("n")
.longOpt("conf-name")
.argName("NAME")
@@ -143,24 +112,8 @@ public class CreateTool extends ToolBase {
.required(false)
.desc("Configuration name; default is the collection name.")
.build(),
- Option.builder("confname")
- .longOpt("confname")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.7")
- .setDescription("Use --conf-name instead")
- .get())
- .argName("NAME")
- .hasArg()
- .required(false)
- .desc("Configuration name; default is the collection name.")
- .build(),
SolrCLI.OPTION_SOLRURL,
- SolrCLI.OPTION_SOLRURL_DEPRECATED,
- SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
- SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
}
@@ -182,10 +135,7 @@ public class CreateTool extends ToolBase {
String solrUrl = cli.getOptionValue("solr-url",
SolrCLI.getDefaultSolrUrl());
final String solrInstallDir = System.getProperty("solr.install.dir");
- final String confDirName =
- cli.hasOption("confdir")
- ? cli.getOptionValue("confdir")
- : cli.getOptionValue("conf-dir", SolrCLI.DEFAULT_CONFIG_SET);
+ final String confDirName = cli.getOptionValue("conf-dir",
SolrCLI.DEFAULT_CONFIG_SET);
// we allow them to pass a directory instead of a configset name
Path configsetDir = Paths.get(confDirName);
@@ -268,14 +218,8 @@ public class CreateTool extends ToolBase {
String collectionName = cli.getOptionValue("name");
final String solrInstallDir = System.getProperty("solr.install.dir");
- String confName =
- cli.hasOption("conf-name")
- ? cli.getOptionValue("conf-name")
- : cli.getOptionValue("confname");
- String confDir =
- cli.hasOption("confdir")
- ? cli.getOptionValue("confdir")
- : cli.getOptionValue("conf-dir", SolrCLI.DEFAULT_CONFIG_SET);
+ String confName = cli.getOptionValue("conf-name");
+ String confDir = cli.getOptionValue("conf-dir",
SolrCLI.DEFAULT_CONFIG_SET);
Path solrInstallDirPath = Paths.get(solrInstallDir);
Path confDirPath = Paths.get(confDir);
ensureConfDirExists(solrInstallDirPath, confDirPath);
@@ -299,8 +243,6 @@ public class CreateTool extends ToolBase {
if (cli.hasOption("replication-factor")) {
replicationFactor =
Integer.parseInt(cli.getOptionValue("replication-factor"));
- } else if (cli.hasOption("replicationFactor")) {
- replicationFactor =
Integer.parseInt(cli.getOptionValue("replicationFactor"));
}
boolean configExistsInZk =
@@ -397,16 +339,13 @@ public class CreateTool extends ToolBase {
}
private void printDefaultConfigsetWarningIfNecessary(CommandLine cli) {
- final String confDirectoryName =
- cli.hasOption("confdir")
- ? cli.getOptionValue("confdir")
- : cli.getOptionValue("conf-dir", SolrCLI.DEFAULT_CONFIG_SET);
- final String confName = cli.getOptionValue("confname", "");
+ final String confDirectoryName = cli.getOptionValue("conf-dir",
SolrCLI.DEFAULT_CONFIG_SET);
+ final String confName = cli.getOptionValue("conf-name", "");
if (confDirectoryName.equals("_default")
&& (confName.equals("") || confName.equals("_default"))) {
final String collectionName = cli.getOptionValue("name");
- final String solrUrl = cli.getOptionValue("solrUrl",
SolrCLI.getDefaultSolrUrl());
+ final String solrUrl = cli.getOptionValue("solr-url",
SolrCLI.getDefaultSolrUrl());
final String curlCommand =
String.format(
Locale.ROOT,
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 c89a3fb0301..069128663b4 100644
--- a/solr/core/src/java/org/apache/solr/cli/DeleteTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/DeleteTool.java
@@ -26,7 +26,6 @@ import java.util.Optional;
import java.util.Set;
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;
@@ -80,19 +79,6 @@ public class DeleteTool extends ToolBase {
.required(true)
.desc("Name of the core / collection to delete.")
.build(),
- Option.builder("d")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --delete-config instead")
- .get())
- .hasArg()
- .argName("true|false")
- .required(false)
- .desc(
- "Flag to indicate if the underlying configuration directory
for a collection should also be deleted; default is true.")
- .build(),
Option.builder()
.longOpt("delete-config")
.hasArg()
@@ -101,44 +87,6 @@ public class DeleteTool extends ToolBase {
.desc(
"Flag to indicate if the underlying configuration directory
for a collection should also be deleted; default is true.")
.build(),
- Option.builder()
- .longOpt("deleteConfig")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.7")
- .setDescription("Use --delete-config instead")
- .get())
- .hasArg()
- .argName("true|false")
- .required(false)
- .desc(
- "Flag to indicate if the underlying configuration directory
for a collection should also be deleted; default is true.")
- .build(),
- Option.builder()
- .longOpt("force-delete-config")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --force instead")
- .get())
- .required(false)
- .desc(
- "Skip safety checks when deleting the configuration directory
used by a collection.")
- .build(),
- Option.builder()
- .longOpt("forceDeleteConfig")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.7")
- .setDescription("Use --force instead")
- .get())
- .required(false)
- .desc(
- "Skip safety checks when deleting the configuration directory
used by a collection.")
- .build(),
Option.builder("f")
.longOpt("force")
.required(false)
@@ -146,10 +94,7 @@ public class DeleteTool extends ToolBase {
"Skip safety checks when deleting the configuration directory
used by a collection.")
.build(),
SolrCLI.OPTION_SOLRURL,
- SolrCLI.OPTION_SOLRURL_DEPRECATED,
- SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
- SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
}
@@ -201,16 +146,10 @@ public class DeleteTool extends ToolBase {
boolean deleteConfig = true;
if (cli.hasOption("delete-config")) {
deleteConfig = "true".equals(cli.getOptionValue("delete-config"));
- } else if (cli.hasOption("d")) {
- deleteConfig = "true".equals(cli.getOptionValue("d"));
- } else if (cli.hasOption("deleteConfig")) {
- deleteConfig = "true".equals(cli.getOptionValue("deleteConfig"));
}
if (deleteConfig && configName != null) {
- if (cli.hasOption("force")
- || cli.hasOption("force-delete-config")
- || cli.hasOption("forceDeleteConfig")) {
+ if (cli.hasOption("force")) {
log.warn(
"Skipping safety checks, configuration directory {} will be
deleted with impunity.",
configName);
diff --git a/solr/core/src/java/org/apache/solr/cli/ExportTool.java
b/solr/core/src/java/org/apache/solr/cli/ExportTool.java
index 97e4774f391..699df52d330 100644
--- a/solr/core/src/java/org/apache/solr/cli/ExportTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ExportTool.java
@@ -54,7 +54,6 @@ import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.zip.GZIPOutputStream;
import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.DeprecatedAttributes;
import org.apache.commons.cli.Option;
import org.apache.lucene.util.SuppressForbidden;
import org.apache.solr.client.solrj.SolrClient;
@@ -97,36 +96,12 @@ public class ExportTool extends ToolBase {
@Override
public List<Option> getOptions() {
return List.of(
- Option.builder("url")
- .longOpt("solr-collection-url")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --solr-url and -c / --name instead")
- .get())
- .hasArg()
- .argName("URL")
- .desc("Address of the collection, example
http://localhost:8983/solr/gettingstarted.")
- .build(),
Option.builder("c")
.longOpt("name")
.hasArg()
.argName("NAME")
.desc("Name of the collection.")
.build(),
- Option.builder("out")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --output instead")
- .get())
- .hasArg()
- .argName("PATH")
- .desc(
- "Path to output the exported data, and optionally the file
name, defaults to 'collection-name'.")
- .build(),
Option.builder()
.longOpt("output")
.hasArg()
@@ -291,10 +266,8 @@ public class ExportTool extends ToolBase {
}
url = SolrCLI.normalizeSolrUrl(cli) + "/solr/" +
cli.getOptionValue("name");
- } else if (cli.hasOption("solr-collection-url")) {
- url = cli.getOptionValue("solr-collection-url");
} else {
- // Swap to required Option when --solr-collection-url removed.
+ // think about support --zk-host someday.
throw new IllegalArgumentException("Must specify --solr-url.");
}
String credentials =
cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt());
@@ -302,9 +275,7 @@ public class ExportTool extends ToolBase {
info.query = cli.getOptionValue("query", "*:*");
info.setOutFormat(
- SolrCLI.getOptionWithDeprecatedAndDefault(cli, "output", "out", null),
- cli.getOptionValue("format"),
- cli.hasOption("compress"));
+ cli.getOptionValue("output"), cli.getOptionValue("format"),
cli.hasOption("compress"));
info.fields = cli.getOptionValue("fields");
info.setLimit(cli.getOptionValue("limit", "100"));
info.output = super.stdout;
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 58024d47ac7..dcc3aa91d11 100644
--- a/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java
@@ -64,10 +64,7 @@ public class HealthcheckTool extends ToolBase {
.desc("Name of the collection to check.")
.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/LinkConfigTool.java
b/solr/core/src/java/org/apache/solr/cli/LinkConfigTool.java
index 1e48a890f3b..da553eb735e 100644
--- a/solr/core/src/java/org/apache/solr/cli/LinkConfigTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/LinkConfigTool.java
@@ -64,8 +64,7 @@ public class LinkConfigTool extends ToolBase {
.required(true)
.desc("Configset name in ZooKeeper.")
.build(),
- SolrCLI.OPTION_ZKHOST,
- SolrCLI.OPTION_ZKHOST_DEPRECATED);
+ SolrCLI.OPTION_ZKHOST);
}
@Override
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 07c5487df48..0089e896ad4 100644
--- a/solr/core/src/java/org/apache/solr/cli/PackageTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/PackageTool.java
@@ -27,7 +27,6 @@ import java.nio.file.Path;
import java.util.List;
import java.util.Map;
import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.DeprecatedAttributes;
import org.apache.commons.cli.Option;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.config.Configurator;
@@ -174,10 +173,7 @@ public class PackageTool extends ToolBase {
? PackageUtils.validateCollections(
cli.getOptionValue("collections").split(","))
: new String[] {};
- String[] parameters =
- cli.hasOption("param")
- ? cli.getOptionValues("param")
- : cli.getOptionValues("p");
+ String[] parameters = cli.getOptionValues("param");
packageManager.deploy(
packageName,
version,
@@ -341,18 +337,6 @@ public class PackageTool extends ToolBase {
.argName("PARAMS")
.desc("List of parameters to be used with deploy command.")
.build(),
- Option.builder("p")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --param instead")
- .get())
- .hasArg()
- .argName("PARAMS")
- .required(false)
- .desc("List of parameters to be used with deploy command.")
- .build(),
Option.builder()
.longOpt("update")
.desc("If a deployment is an update over a previous deployment.")
@@ -368,10 +352,7 @@ public class PackageTool extends ToolBase {
.desc("Don't prompt for input; accept all default choices,
defaults to false.")
.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/PostLogsTool.java
b/solr/core/src/java/org/apache/solr/cli/PostLogsTool.java
index 61b07eecb96..7be103ea923 100644
--- a/solr/core/src/java/org/apache/solr/cli/PostLogsTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/PostLogsTool.java
@@ -36,7 +36,6 @@ import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;
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.impl.Http2SolrClient;
@@ -65,21 +64,10 @@ public class PostLogsTool extends ToolBase {
@Override
public List<Option> getOptions() {
return List.of(
- Option.builder("url")
- .longOpt("solr-collection-url")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --solr-url and -c / --name instead")
- .get())
- .hasArg()
- .argName("ADDRESS")
- .desc("Address of the collection, example
http://localhost:8983/solr/collection1/.")
- .build(),
Option.builder("c")
.longOpt("name")
.hasArg()
+ .required(true)
.argName("NAME")
.desc("Name of the collection.")
.build(),
@@ -98,16 +86,10 @@ public class PostLogsTool extends ToolBase {
public void runImpl(CommandLine cli) throws Exception {
String url = null;
if (cli.hasOption("solr-url")) {
- if (!cli.hasOption("name")) {
- throw new IllegalArgumentException(
- "Must specify -c / --name parameter with --solr-url to post
documents.");
- }
url = SolrCLI.normalizeSolrUrl(cli) + "/solr/" +
cli.getOptionValue("name");
- } else if (cli.hasOption("solr-collection-url")) {
- url = cli.getOptionValue("solr-collection-url");
} else {
- // Swap to required Option when --solr-collection-url removed.
+ // Could be required arg, but maybe we want to support --zk-host option
too?
throw new IllegalArgumentException("Must specify --solr-url.");
}
String rootDir = cli.getOptionValue("rootdir");
diff --git a/solr/core/src/java/org/apache/solr/cli/PostTool.java
b/solr/core/src/java/org/apache/solr/cli/PostTool.java
index d479a90aaba..b888fdca589 100644
--- a/solr/core/src/java/org/apache/solr/cli/PostTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/PostTool.java
@@ -67,7 +67,6 @@ import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.DeprecatedAttributes;
import org.apache.commons.cli.Option;
import org.apache.commons.io.output.NullOutputStream;
import org.apache.solr.client.api.util.SolrVersion;
@@ -172,21 +171,10 @@ public class PostTool extends ToolBase {
@Override
public List<Option> getOptions() {
return List.of(
- Option.builder("url")
- .longOpt("solr-update-url")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --solr-url and -c / --name instead")
- .get())
- .hasArg()
- .argName("UPDATEURL")
- .desc("Solr Update URL, the full url to the update handler,
including the /update.")
- .build(),
Option.builder("c")
.longOpt("name")
.hasArg()
+ .required(true)
.argName("NAME")
.desc("Name of the collection.")
.build(),
@@ -194,16 +182,6 @@ public class PostTool extends ToolBase {
.longOpt("skip-commit")
.desc("Do not 'commit', and thus changes won't be visible till a
commit occurs.")
.build(),
- Option.builder()
- .longOpt("skipcommit")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.7")
- .setDescription("Use --skip-commit instead")
- .get())
- .desc("Do not 'commit', and thus changes won't be visible till a
commit occurs.")
- .build(),
Option.builder("o")
.longOpt("optimize")
.desc("Issue an optimize at end of posting documents.")
@@ -222,19 +200,6 @@ public class PostTool extends ToolBase {
.required(false)
.desc("For web crawl, how deep to go. default: 1")
.build(),
- Option.builder("d")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --delay instead")
- .get())
- .hasArg()
- .argName("delay")
- .required(false)
- .desc(
- "If recursive then delay will be the wait time between posts.
default: 10 for web, 0 for files")
- .build(),
Option.builder()
.longOpt("delay")
.hasArg()
@@ -264,40 +229,6 @@ public class PostTool extends ToolBase {
.required(false)
.desc("Values must be URL-encoded; these pass through to Solr
update request.")
.build(),
- Option.builder("p")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --params instead")
- .get())
- .hasArg()
- .argName("<key>=<value>[&<key>=<value>...]")
- .required(false)
- .desc("Values must be URL-encoded; these pass through to Solr
update request.")
- .build(),
- Option.builder()
- .longOpt("out")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --verbose instead")
- .get())
- .required(false)
- .desc("sends Solr response outputs to console.")
- .build(),
- Option.builder("f")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --format instead")
- .get())
- .required(false)
- .desc(
- "sends application/json content as Solr commands to /update
instead of /update/json/docs.")
- .build(),
Option.builder()
.longOpt("format")
.required(false)
@@ -320,23 +251,13 @@ public class PostTool extends ToolBase {
solrUpdateUrl = null;
if (cli.hasOption("solr-url")) {
- if (!cli.hasOption("name")) {
- throw new IllegalArgumentException(
- "Must specify -c / --name parameter with --solr-url to post
documents.");
- }
String url =
SolrCLI.normalizeSolrUrl(cli) + "/solr/" +
cli.getOptionValue("name") + "/update";
solrUpdateUrl = new URI(url);
- } else if (cli.hasOption("solr-update-url")) {
- String url = cli.getOptionValue("solr-update-url");
- solrUpdateUrl = new URI(url);
- } else if (cli.hasOption("name")) {
+ } else {
String url = SolrCLI.getDefaultSolrUrl() + "/solr/" +
cli.getOptionValue("name") + "/update";
solrUpdateUrl = new URI(url);
- } else {
- throw new IllegalArgumentException(
- "Must specify either --solr-update-url or -c parameter to post
documents.");
}
String mode = cli.getOptionValue("mode", DATA_MODE_FILES);
@@ -348,10 +269,7 @@ public class PostTool extends ToolBase {
// Turn off automatically looking up the mimetype in favour of what is
passed in.
auto = false;
}
- format =
- cli.hasOption("format") || cli.hasOption("f")
- ? FORMAT_SOLR
- : ""; // i.e not solr formatted json commands
+ format = cli.hasOption("format") ? FORMAT_SOLR : ""; // i.e not solr
formatted json commands
if (cli.hasOption("filetypes")) {
fileTypes = cli.getOptionValue("filetypes");
@@ -360,24 +278,19 @@ public class PostTool extends ToolBase {
delay = (mode.equals((DATA_MODE_WEB)) ? 10 : 0);
if (cli.hasOption("delay")) {
delay = Integer.parseInt(cli.getOptionValue("delay"));
- } else if (cli.hasOption("d")) {
- delay = Integer.parseInt(cli.getOptionValue("d"));
}
recursive = Integer.parseInt(cli.getOptionValue("recursive", "1"));
- out =
- cli.hasOption("out") ||
cli.hasOption(SolrCLI.OPTION_VERBOSE.getLongOpt())
- ? CLIO.getOutStream()
- : null;
- commit = !(cli.hasOption("skipcommit") || cli.hasOption("skip-commit"));
+ out = cli.hasOption(SolrCLI.OPTION_VERBOSE.getLongOpt()) ?
CLIO.getOutStream() : null;
+ commit = !cli.hasOption("skip-commit");
optimize = cli.hasOption("optimize");
credentials = cli.getOptionValue(SolrCLI.OPTION_CREDENTIALS.getLongOpt());
args = cli.getArgs();
- params = SolrCLI.getOptionWithDeprecatedAndDefault(cli, "params", "p", "");
+ params = cli.getOptionValue("params", "");
execute(mode);
}
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 95c746f82b7..51f1d634703 100644
--- a/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java
@@ -36,7 +36,6 @@ import java.util.Scanner;
import java.util.Set;
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.commons.exec.DefaultExecuteResultHandler;
import org.apache.commons.exec.DefaultExecutor;
@@ -100,18 +99,6 @@ public class RunExampleTool extends ToolBase {
.desc(
"Don't prompt for input; accept all defaults when running
examples that accept user input.")
.build(),
- Option.builder()
- .longOpt("noprompt")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.7")
- .setDescription("Use --no-prompt instead")
- .get())
- .required(false)
- .desc(
- "Don't prompt for input; accept all defaults when running
examples that accept user input.")
- .build(),
Option.builder("e")
.longOpt("example")
.hasArg()
@@ -188,8 +175,7 @@ public class RunExampleTool extends ToolBase {
.desc(
"Additional options to be passed to the JVM when starting
example Solr server(s).")
.build(),
- SolrCLI.OPTION_ZKHOST,
- SolrCLI.OPTION_ZKHOST_DEPRECATED);
+ SolrCLI.OPTION_ZKHOST);
}
@Override
@@ -447,7 +433,7 @@ public class RunExampleTool extends ToolBase {
protected void runCloudExample(CommandLine cli) throws Exception {
- boolean prompt = !(cli.hasOption("no-prompt") ||
cli.hasOption("noprompt"));
+ boolean prompt = !cli.hasOption("no-prompt");
int numNodes = 2;
int[] cloudPorts = new int[] {8983, 7574, 8984, 7575};
int defaultPort =
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 11ff8a205e3..d80dfbc61ea 100644
--- a/solr/core/src/java/org/apache/solr/cli/SnapshotCreateTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/SnapshotCreateTool.java
@@ -45,7 +45,6 @@ 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 8529a35d2f0..d172391183e 100644
--- a/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteTool.java
@@ -45,7 +45,6 @@ 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 b8673a6579a..a007b75f075 100644
--- a/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeTool.java
@@ -58,7 +58,6 @@ 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 9cc5668d6c3..8471ec79287 100644
--- a/solr/core/src/java/org/apache/solr/cli/SnapshotExportTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/SnapshotExportTool.java
@@ -20,7 +20,6 @@ import java.io.PrintStream;
import java.util.List;
import java.util.Optional;
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.request.CollectionAdminRequest;
@@ -47,7 +46,6 @@ 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")
@@ -78,19 +76,6 @@ public class SnapshotExportTool extends ToolBase {
.desc(
"Specifies name of the backup repository to be used during
snapshot export preparation.")
.build(),
- Option.builder("i")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --async-id instead")
- .get())
- .argName("ID")
- .hasArg()
- .required(false)
- .desc(
- "Specifies the async request identifier to be used during
snapshot export preparation.")
- .build(),
Option.builder()
.longOpt("async-id")
.argName("ID")
@@ -111,9 +96,6 @@ public class SnapshotExportTool extends ToolBase {
String destDir = cli.getOptionValue("dest-dir");
Optional<String> backupRepo =
Optional.ofNullable(cli.getOptionValue("backup-repo-name"));
Optional<String> asyncReqId =
Optional.ofNullable(cli.getOptionValue("async-id"));
- if (cli.hasOption("i")) {
- asyncReqId = Optional.ofNullable(cli.getOptionValue("i"));
- }
try (var solrClient = SolrCLI.getSolrClient(cli)) {
exportSnapshot(solrClient, collectionName, snapshotName, destDir,
backupRepo, asyncReqId);
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 5ccaf6d6cc5..a1db955b0c0 100644
--- a/solr/core/src/java/org/apache/solr/cli/SnapshotListTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/SnapshotListTool.java
@@ -47,7 +47,6 @@ 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 98c22c7f6d8..9f762459fcb 100755
--- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java
+++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java
@@ -46,7 +46,6 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.DefaultParser;
-import org.apache.commons.cli.DeprecatedAttributes;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
@@ -88,24 +87,6 @@ public class SolrCLI implements CLIO {
public static final String ZK_HOST = "localhost:9983";
- public static final Option OPTION_ZKHOST_DEPRECATED =
- Option.builder("zkHost")
- .longOpt("zkHost")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.7")
- .setDescription("Use --zk-host instead")
- .get())
- .argName("HOST")
- .hasArg()
- .required(false)
- .desc(
- "Zookeeper connection string; unnecessary if ZK_HOST is defined
in solr.in.sh; otherwise, defaults to "
- + ZK_HOST
- + '.')
- .build();
-
public static final Option OPTION_ZKHOST =
Option.builder("z")
.longOpt("zk-host")
@@ -117,23 +98,6 @@ public class SolrCLI implements CLIO {
+ ZK_HOST
+ '.')
.build();
- public static final Option OPTION_SOLRURL_DEPRECATED =
- Option.builder("solrUrl")
- .longOpt("solrUrl")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.7")
- .setDescription("Use --solr-url instead")
- .get())
- .argName("HOST")
- .hasArg()
- .required(false)
- .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_SOLRURL =
Option.builder("s")
.longOpt("solr-url")
@@ -145,22 +109,6 @@ 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()
@@ -172,19 +120,6 @@ public class SolrCLI implements CLIO {
public static final Option OPTION_HELP =
Option.builder("h").longOpt("help").required(false).desc("Print this
message.").build();
- public static final Option OPTION_RECURSE_DEPRECATED =
- Option.builder()
- .longOpt("recurse")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --recursive instead")
- .get())
- .required(false)
- .desc("Apply the command recursively.")
- .build();
-
public static final Option OPTION_RECURSIVE =
Option.builder("r")
.longOpt("recursive")
@@ -215,19 +150,13 @@ public class SolrCLI implements CLIO {
public static void main(String[] args) throws Exception {
final boolean hasNoCommand =
args == null || args.length == 0 || args[0] == null ||
args[0].trim().length() == 0;
- final boolean isHelpCommand =
- !hasNoCommand && Arrays.asList("-h", "--help", "/?").contains(args[0]);
+ final boolean isHelpCommand = !hasNoCommand && Arrays.asList("-h",
"--help").contains(args[0]);
if (hasNoCommand || isHelpCommand) {
printHelp();
exit(1);
}
- if (Arrays.asList("-version", "version").contains(args[0])) {
- // select the version tool to be run
- CLIO.out("Deprecated operation as of 9.8. Please use bin/solr
--version.");
- args = new String[] {"version"};
- }
if (Arrays.asList("-v", "--version").contains(args[0])) {
// select the version tool to be run
args = new String[] {"version"};
@@ -243,7 +172,7 @@ public class SolrCLI implements CLIO {
// remap our arguments to invoke the ZK tool help.
args = new String[] {"zk-tool-help", "--print-long-zk-usage"};
} else if (args.length == 2) {
- if (Arrays.asList("-h", "--help", "/?").contains(args[1])) {
+ if (Arrays.asList("-h", "--help").contains(args[1])) {
// remap our arguments to invoke the ZK tool help.
args = new String[] {"zk-tool-help", "--print-long-zk-usage"};
} else {
@@ -411,6 +340,10 @@ public class SolrCLI implements CLIO {
/**
* Returns the value of the option with the given name, or the value of the
deprecated option. If
* both values are null, then it returns the default value.
+ *
+ * <p>If this method is marked as unused by your IDE, it means we have no
deprecated CLI options
+ * currently, congratulations! This method is preserved for the next time we
need to deprecate a
+ * CLI option.
*/
public static String getOptionWithDeprecatedAndDefault(
CommandLine cli, String opt, String deprecated, String def) {
@@ -462,7 +395,7 @@ public class SolrCLI implements CLIO {
boolean hasHelpArg = false;
if (args != null) {
for (String arg : args) {
- if ("-h".equals(arg) || "--help".equals(arg) || "-help".equals(arg))
{
+ if ("-h".equals(arg) || "--help".equals(arg)) {
hasHelpArg = true;
break;
}
@@ -739,18 +672,10 @@ public class SolrCLI implements CLIO {
* ZooKeeper.
*/
public static String normalizeSolrUrl(CommandLine cli) throws Exception {
- 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");
- }
+ String solrUrl = cli.getOptionValue("solr-url");
if (solrUrl == null) {
- String zkHost =
- cli.hasOption("zk-host") ? cli.getOptionValue("zk-host") :
cli.getOptionValue("zkHost");
+ String zkHost = cli.getOptionValue("zk-host");
if (zkHost == null) {
solrUrl = SolrCLI.getDefaultSolrUrl();
CLIO.err(
@@ -781,8 +706,7 @@ public class SolrCLI implements CLIO {
*/
public static String getZkHost(CommandLine cli) throws Exception {
- String zkHost =
- cli.hasOption("zk-host") ? cli.getOptionValue("zk-host") :
cli.getOptionValue("zkHost");
+ String zkHost = cli.getOptionValue("zk-host");
if (zkHost != null && !zkHost.isBlank()) {
return zkHost;
}
diff --git a/solr/core/src/java/org/apache/solr/cli/StatusTool.java
b/solr/core/src/java/org/apache/solr/cli/StatusTool.java
index 94f46b106dd..16ad16e5946 100644
--- a/solr/core/src/java/org/apache/solr/cli/StatusTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/StatusTool.java
@@ -236,7 +236,7 @@ public class StatusTool extends ToolBase {
}
}
- public boolean printStatusFromRunningSolr(String solrUrl, CommandLine cli)
throws Exception {
+ public boolean printStatusFromRunningSolr(String solrUrl, CommandLine cli) {
String statusJson = null;
try {
statusJson = statusFromRunningSolr(solrUrl, cli);
diff --git a/solr/core/src/java/org/apache/solr/cli/UpdateACLTool.java
b/solr/core/src/java/org/apache/solr/cli/UpdateACLTool.java
index f98959a89c7..e9a9c5b444e 100644
--- a/solr/core/src/java/org/apache/solr/cli/UpdateACLTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/UpdateACLTool.java
@@ -54,7 +54,7 @@ public class UpdateACLTool extends ToolBase {
@Override
public List<Option> getOptions() {
- return List.of(SolrCLI.OPTION_ZKHOST, SolrCLI.OPTION_ZKHOST_DEPRECATED);
+ return List.of(SolrCLI.OPTION_ZKHOST);
}
@Override
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 197156c8652..488618e2f41 100644
--- a/solr/core/src/java/org/apache/solr/cli/ZkCpTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ZkCpTool.java
@@ -62,13 +62,9 @@ public class ZkCpTool extends ToolBase {
.required(false)
.desc("Required to look up configuration for compressing
state.json.")
.build(),
- SolrCLI.OPTION_RECURSE_DEPRECATED,
SolrCLI.OPTION_RECURSIVE,
SolrCLI.OPTION_SOLRURL,
- SolrCLI.OPTION_SOLRURL_DEPRECATED,
- SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
- SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
}
@@ -133,7 +129,7 @@ public class ZkCpTool extends ToolBase {
echoIfVerbose("\nConnecting to ZooKeeper at " + zkHost + " ...");
String src = cli.getArgs()[0];
String dst = cli.getArgs()[1];
- boolean recursive = cli.hasOption("recursive") || cli.hasOption("recurse");
+ boolean recursive = cli.hasOption("recursive");
echo("Copying from '" + src + "' to '" + dst + "'. ZooKeeper at " +
zkHost);
boolean srcIsZk = src.toLowerCase(Locale.ROOT).startsWith("zk:");
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 329e8f47dc3..cefb37b0e76 100644
--- a/solr/core/src/java/org/apache/solr/cli/ZkLsTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ZkLsTool.java
@@ -40,13 +40,9 @@ public class ZkLsTool extends ToolBase {
@Override
public List<Option> getOptions() {
return List.of(
- SolrCLI.OPTION_RECURSE_DEPRECATED,
SolrCLI.OPTION_RECURSIVE,
SolrCLI.OPTION_SOLRURL,
- SolrCLI.OPTION_SOLRURL_DEPRECATED,
- SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
- SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
}
@@ -70,7 +66,7 @@ public class ZkLsTool extends ToolBase {
try (SolrZkClient zkClient = SolrCLI.getSolrZkClient(cli, zkHost)) {
echoIfVerbose("\nConnecting to ZooKeeper at " + zkHost + " ...");
- boolean recursive = cli.hasOption("recursive") ||
cli.hasOption("recurse");
+ boolean recursive = cli.hasOption("recursive");
echoIfVerbose(
"Getting listing for ZooKeeper node "
+ znode
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 3c69b7b0d10..606586d1b4f 100644
--- a/solr/core/src/java/org/apache/solr/cli/ZkMkrootTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ZkMkrootTool.java
@@ -49,10 +49,7 @@ public class ZkMkrootTool extends ToolBase {
.desc("Raise an error if the root exists. Defaults to false.")
.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 339d7e41040..f49f1484c4b 100644
--- a/solr/core/src/java/org/apache/solr/cli/ZkMvTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ZkMvTool.java
@@ -43,13 +43,7 @@ public class ZkMvTool extends ToolBase {
@Override
public List<Option> getOptions() {
- 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);
+ return List.of(SolrCLI.OPTION_SOLRURL, SolrCLI.OPTION_ZKHOST,
SolrCLI.OPTION_CREDENTIALS);
}
@Override
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 bf3e408ca53..4f4e1bf62e6 100644
--- a/solr/core/src/java/org/apache/solr/cli/ZkRmTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/ZkRmTool.java
@@ -42,13 +42,9 @@ public class ZkRmTool extends ToolBase {
@Override
public List<Option> getOptions() {
return List.of(
- SolrCLI.OPTION_RECURSE_DEPRECATED,
SolrCLI.OPTION_RECURSIVE,
SolrCLI.OPTION_SOLRURL,
- SolrCLI.OPTION_SOLRURL_DEPRECATED,
- SolrCLI.OPTION_SOLRURL_DEPRECATED_SHORT,
SolrCLI.OPTION_ZKHOST,
- SolrCLI.OPTION_ZKHOST_DEPRECATED,
SolrCLI.OPTION_CREDENTIALS);
}
@@ -68,7 +64,7 @@ public class ZkRmTool extends ToolBase {
String zkHost = SolrCLI.getZkHost(cli);
String target = cli.getArgs()[0];
- boolean recursive = cli.hasOption("recursive") || cli.hasOption("recurse");
+ boolean recursive = cli.hasOption("recursive");
String znode = target;
if (target.toLowerCase(Locale.ROOT).startsWith("zk:")) {
diff --git a/solr/core/src/test/org/apache/solr/cli/CreateToolTest.java
b/solr/core/src/test/org/apache/solr/cli/CreateToolTest.java
index 838c3857ce9..7b4da6f9901 100644
--- a/solr/core/src/test/org/apache/solr/cli/CreateToolTest.java
+++ b/solr/core/src/test/org/apache/solr/cli/CreateToolTest.java
@@ -51,7 +51,7 @@ public class CreateToolTest extends SolrCloudTestCase {
cluster.getZkClient().getZkServerAddress(),
"--credentials",
SecurityJson.USER_PASS,
- "-verbose"
+ "--verbose"
};
assertEquals(0, runTool(args));
diff --git a/solr/core/src/test/org/apache/solr/cli/DeleteToolTest.java
b/solr/core/src/test/org/apache/solr/cli/DeleteToolTest.java
index 86459b1f71a..8f66d104d4e 100644
--- a/solr/core/src/test/org/apache/solr/cli/DeleteToolTest.java
+++ b/solr/core/src/test/org/apache/solr/cli/DeleteToolTest.java
@@ -66,7 +66,7 @@ public class DeleteToolTest extends SolrCloudTestCase {
cluster.getZkClient().getZkServerAddress(),
"--credentials",
SecurityJson.USER_PASS,
- "-verbose"
+ "--verbose"
};
assertEquals(0, runTool(args));
}
@@ -89,7 +89,7 @@ public class DeleteToolTest extends SolrCloudTestCase {
"testFailsToDeleteProtectedCollection",
"-z",
cluster.getZkClient().getZkServerAddress(),
- "-verbose"
+ "--verbose"
};
assertEquals(1, runTool(args));
}
diff --git a/solr/core/src/test/org/apache/solr/cli/PackageToolTest.java
b/solr/core/src/test/org/apache/solr/cli/PackageToolTest.java
index f4155641910..fa75ba3206e 100644
--- a/solr/core/src/test/org/apache/solr/cli/PackageToolTest.java
+++ b/solr/core/src/test/org/apache/solr/cli/PackageToolTest.java
@@ -168,7 +168,7 @@ public class PackageToolTest extends SolrCloudTestCase {
"-y",
"--collections",
"abc",
- "-p",
+ "--param",
"RH-HANDLER-PATH=" + rhPath,
"--credentials",
SecurityJson.USER_PASS
diff --git a/solr/packaging/test/test_bats.bats
b/solr/packaging/test/test_bats.bats
index fae2f5be371..631fe2a8f87 100644
--- a/solr/packaging/test/test_bats.bats
+++ b/solr/packaging/test/test_bats.bats
@@ -23,7 +23,7 @@ setup_file() {
# set up paths and helpers
common_clean_setup
- solr start -V
+ solr start --verbose
# echo $output >&3
}
diff --git a/solr/packaging/test/test_config.bats
b/solr/packaging/test/test_config.bats
index 243f4fb2689..5400d6d91cb 100644
--- a/solr/packaging/test/test_config.bats
+++ b/solr/packaging/test/test_config.bats
@@ -54,31 +54,21 @@ teardown() {
@test "short form of setting property" {
solr create -c COLL_NAME
- run solr config -c COLL_NAME --property updateHandler.autoCommit.maxDocs -v
100
+ run solr config -c COLL_NAME --property updateHandler.autoCommit.maxDocs
--value 100
assert_output --partial "Successfully set-property
updateHandler.autoCommit.maxDocs to 100"
- assert_output --partial "Deprecated for removal since 9.8: Use --value
instead"
assert_output --partial "assuming solr url is http://localhost:${SOLR_PORT}."
}
-# This test is to validate the deprecated and non deprecated options for
connecting to Solr
@test "connecting to solr via various solr urls and zk hosts" {
solr create -c COLL_NAME
- run solr config -c COLL_NAME --property updateHandler.autoCommit.maxDocs -v
100 -solrUrl http://localhost:${SOLR_PORT}
+ run solr config -c COLL_NAME --property updateHandler.autoCommit.maxDocs
--value 100 -s http://localhost:${SOLR_PORT}
assert_output --partial "Successfully set-property
updateHandler.autoCommit.maxDocs to 100"
- assert_output --partial "Deprecated for removal since 9.7: Use --solr-url
instead"
- run solr config -c COLL_NAME --property updateHandler.autoCommit.maxDocs -v
100 --solr-url http://localhost:${SOLR_PORT}
+ run solr config -c COLL_NAME --property updateHandler.autoCommit.maxDocs
--value 100 -z localhost:${ZK_PORT}
assert_output --partial "Successfully set-property
updateHandler.autoCommit.maxDocs to 100"
- run solr config -c COLL_NAME --property updateHandler.autoCommit.maxDocs -v
100 -zkHost localhost:${ZK_PORT}
- assert_output --partial "Successfully set-property
updateHandler.autoCommit.maxDocs to 100"
- assert_output --partial "Deprecated for removal since 9.7: Use --zk-host
instead"
-
- run solr config -c COLL_NAME --property updateHandler.autoCommit.maxDocs -v
100 -z localhost:${ZK_PORT}
- assert_output --partial "Successfully set-property
updateHandler.autoCommit.maxDocs to 100"
-
- run solr config -c COLL_NAME --property updateHandler.autoCommit.maxDocs -v
100 --zk-host localhost:${ZK_PORT}
+ run solr config -c COLL_NAME --property updateHandler.autoCommit.maxDocs
--value 100 --zk-host localhost:${ZK_PORT}
assert_output --partial "Successfully set-property
updateHandler.autoCommit.maxDocs to 100"
}
diff --git a/solr/packaging/test/test_post.bats
b/solr/packaging/test/test_post.bats
index 016dba34d36..277631297f9 100644
--- a/solr/packaging/test/test_post.bats
+++ b/solr/packaging/test/test_post.bats
@@ -39,7 +39,7 @@ teardown() {
@test "Check help command" {
run solr post
- assert_output --partial 'Must specify either --solr-update-url or -c
parameter'
+ assert_output --partial 'Missing required option: c'
run solr post -h
assert_output --partial 'usage: bin/solr post'
@@ -57,7 +57,7 @@ teardown() {
run solr create -c monitors -d _default
assert_output --partial "Created collection 'monitors'"
- run solr post --type application/xml --solr-update-url
http://localhost:${SOLR_PORT}/solr/monitors/update
${SOLR_TIP}/example/exampledocs/monitor.xml
+ run solr post --type application/xml --solr-url
http://localhost:${SOLR_PORT} -c monitors
${SOLR_TIP}/example/exampledocs/monitor.xml
assert_output --partial '1 files indexed.'
refute_output --partial 'ERROR'
@@ -89,7 +89,7 @@ teardown() {
solr create -c monitors_no_type -d _default
- run solr post --solr-update-url
http://localhost:${SOLR_PORT}/solr/monitors_no_type/update
${SOLR_TIP}/example/exampledocs/monitor.xml
+ run solr post --solr-url http://localhost:${SOLR_PORT} -c monitors_no_type
${SOLR_TIP}/example/exampledocs/monitor.xml
assert_output --partial '1 files indexed.'
refute_output --partial 'ERROR'
@@ -98,7 +98,7 @@ teardown() {
solr create -c books_no_type -d _default
- run solr post --solr-update-url
http://localhost:${SOLR_PORT}/solr/books_no_type/update
${SOLR_TIP}/example/exampledocs/books.json
+ run solr post --solr-url http://localhost:${SOLR_PORT} -c books_no_type
${SOLR_TIP}/example/exampledocs/books.json
assert_output --partial '1 files indexed.'
refute_output --partial 'ERROR'
@@ -107,7 +107,7 @@ teardown() {
solr create -c books_csv_no_type -d _default
- run solr post --solr-update-url
http://localhost:${SOLR_PORT}/solr/books_csv_no_type/update
${SOLR_TIP}/example/exampledocs/books.csv
+ run solr post --solr-url http://localhost:${SOLR_PORT} -c books_csv_no_type
${SOLR_TIP}/example/exampledocs/books.csv
assert_output --partial '1 files indexed.'
refute_output --partial 'ERROR'
@@ -118,7 +118,7 @@ teardown() {
@test "crawling a directory as a dry-run" {
# We filter to xml,json,and csv as we don't want to invoke the Extract
handler, and are running it as a dry run
- run solr post --dry-run --filetypes xml,json,csv --solr-update-url
http://localhost:${SOLR_PORT}/solr/foobar/update --skip-commit
${SOLR_TIP}/example/exampledocs
+ run solr post --dry-run --filetypes xml,json,csv --solr-url
http://localhost:${SOLR_PORT} -c foobar --skip-commit
${SOLR_TIP}/example/exampledocs
assert_output --partial 'Dry run complete. 16 would have been indexed.'
refute_output --partial '16 files indexed.'
@@ -130,7 +130,7 @@ teardown() {
solr create -c mixed_content -d _default
# We filter to xml,json,and csv as we don't want to invoke the Extract
handler.
- run solr post --filetypes xml,json,csv --solr-update-url
http://localhost:${SOLR_PORT}/solr/mixed_content/update
${SOLR_TIP}/example/exampledocs
+ run solr post --filetypes xml,json,csv --solr-url
http://localhost:${SOLR_PORT} -c mixed_content ${SOLR_TIP}/example/exampledocs
assert_output --partial '16 files indexed.'
refute_output --partial 'ERROR'
@@ -150,7 +150,7 @@ teardown() {
}
}' "http://localhost:${SOLR_PORT}/solr/webcrawl/config"
- run solr post --mode web --solr-update-url
http://localhost:${SOLR_PORT}/webcrawl/update --recursive 1 --delay 1
https://solr.apache.org
+ run solr post --mode web -c webcrawl --recursive 1 --delay 1
https://solr.apache.org
assert_output --partial 'Entering crawl at level 0'
}
@@ -159,7 +159,7 @@ teardown() {
run solr create -c monitors2 -d _default
assert_output --partial "Created collection 'monitors2'"
- run solr post --solr-update-url
http://localhost:${SOLR_PORT}/solr/monitors2/update --type application/xml
--skip-commit --optimize ${SOLR_TIP}/example/exampledocs/monitor.xml
+ run solr post --solr-url http://localhost:${SOLR_PORT} -c monitors2 --type
application/xml --skip-commit --optimize
${SOLR_TIP}/example/exampledocs/monitor.xml
assert_output --partial '1 files indexed.'
refute_output --partial 'COMMITting Solr index'
@@ -173,18 +173,18 @@ teardown() {
run solr create -c test_args -d _default
assert_output --partial "Created collection 'test_args'"
- run solr post --solr-update-url
http://localhost:${SOLR_PORT}/solr/test_args/update --mode args --type
application/xml --out "<delete><query>*:*</query></delete>"
+ run solr post --solr-url http://localhost:${SOLR_PORT} -c test_args --mode
args --type application/xml --verbose "<delete><query>*:*</query></delete>"
assert_output --partial '<int name="status">0</int>'
# confirm default type
- run solr post --solr-update-url
http://localhost:${SOLR_PORT}/solr/test_args/update --mode args --out
"{'delete': {'query': '*:*'}}"
+ run solr post --solr-url http://localhost:${SOLR_PORT} -c test_args --mode
args --verbose "{'delete': {'query': '*:*'}}"
assert_output --partial '"status":0'
- # confirm we don't get back output without --out
- run solr post --solr-update-url
http://localhost:${SOLR_PORT}/solr/test_args/update --mode args "{'delete':
{'query': '*:*'}}"
+ # confirm we don't get back output without --verbose
+ run solr post --solr-url http://localhost:${SOLR_PORT} -c test_args --mode
args "{'delete': {'query': '*:*'}}"
refute_output --partial '"status":0'
- run solr post --solr-update-url
http://localhost:${SOLR_PORT}/solr/test_args/update --mode args --type text/csv
--out $'id,value\nROW1,0.47'
+ run solr post --solr-url http://localhost:${SOLR_PORT} -c test_args --mode
args --type text/csv --verbose $'id,value\nROW1,0.47'
assert_output --partial '"status":0'
run curl "http://localhost:${SOLR_PORT}/solr/test_args/select?q=id:ROW1"
assert_output --partial '"numFound":1'
@@ -192,7 +192,7 @@ teardown() {
# function used because run echo | solr ends up being (run echo) | solr and we
loose the output capture.
capture_echo_to_solr() {
- echo "{'commit': {}}" | solr post --solr-update-url
http://localhost:${SOLR_PORT}/solr/test_stdin/update --mode stdin --type
application/json --out
+ echo "{'commit': {}}" | solr post --solr-url http://localhost:${SOLR_PORT}
-c test_stdin --mode stdin --type application/json --verbose
}
@test "stdin mode" {
@@ -209,7 +209,7 @@ capture_echo_to_solr() {
run solr create -c monitors_verbose -d _default
assert_output --partial "Created collection 'monitors_verbose'"
- run solr post --verbose --type application/xml --solr-update-url
http://localhost:${SOLR_PORT}/solr/monitors_verbose/update
${SOLR_TIP}/example/exampledocs/monitor.xml
+ run solr post --verbose --type application/xml --solr-url
http://localhost:${SOLR_PORT} -c monitors_verbose
${SOLR_TIP}/example/exampledocs/monitor.xml
assert_output --partial '1 files indexed.'
assert_output --partial '<lst name="responseHeader">'
diff --git a/solr/packaging/test/test_postlogs.bats
b/solr/packaging/test/test_postlogs.bats
index ef6fe76953f..76893566d43 100644
--- a/solr/packaging/test/test_postlogs.bats
+++ b/solr/packaging/test/test_postlogs.bats
@@ -42,7 +42,7 @@ teardown() {
run solr create -c COLL_NAME
assert_output --partial "Created collection 'COLL_NAME'"
- run solr postlogs -url http://localhost:${SOLR_PORT}/solr/COLL_NAME -rootdir
${SOLR_LOGS_DIR}/solr.log
+ run solr postlogs --solr-url http://localhost:${SOLR_PORT} -c COLL_NAME
-rootdir ${SOLR_LOGS_DIR}/solr.log
assert_output --partial 'Sending last batch'
assert_output --partial 'Committed'
diff --git a/solr/packaging/test/test_prometheus.bats
b/solr/packaging/test/test_prometheus.bats
index a6dc1c2671d..b9d2689ab79 100644
--- a/solr/packaging/test/test_prometheus.bats
+++ b/solr/packaging/test/test_prometheus.bats
@@ -37,8 +37,8 @@ teardown() {
run solr create -c COLL_NAME
assert_output --partial "Created new core 'COLL_NAME'"
- echo "# starting solr-exporter on ${SOLR_EXPORTER_PORT}" >&3
- run solr-exporter --cluster-id bats-test -p $SOLR_EXPORTER_PORT -b
http://localhost:${SOLR_PORT}/solr >&3 &
+ # echo "# starting solr-exporter on ${SOLR_EXPORTER_PORT}" >&3
+ run solr-exporter --cluster-id bats-test -p $SOLR_EXPORTER_PORT --solr-url
http://localhost:${SOLR_PORT}/solr >&3 &
sleep 5
diff --git a/solr/packaging/test/test_snapshots.bats
b/solr/packaging/test/test_snapshots.bats
index c8dd9da8d4c..5bceed84863 100644
--- a/solr/packaging/test/test_snapshots.bats
+++ b/solr/packaging/test/test_snapshots.bats
@@ -26,7 +26,7 @@ setup_file() {
teardown_file() {
common_setup
- solr stop -all
+ solr stop --all
}
@@ -59,15 +59,16 @@ teardown() {
@test "snapshot list" {
solr snapshot-create -c films --snapshot-name snapshot3 --solr-url
http://localhost:${SOLR_PORT}
- run solr snapshot-list -c films -url http://localhost:${SOLR_PORT}/solr
+ # Confirm that we continue to normalize away the /solr ending.
+ run solr snapshot-list -c films -s http://localhost:${SOLR_PORT}/solr
assert_output --partial "snapshot3"
- run solr snapshot-delete -c films --snapshot-name snapshot3 -url
http://localhost:${SOLR_PORT}
+ run solr snapshot-delete -c films --snapshot-name snapshot3 -s
http://localhost:${SOLR_PORT}
assert_output --partial "Successfully deleted snapshot with name snapshot3
for collection films"
}
@test "snapshot describe" {
- solr snapshot-create -c films --snapshot-name snapshot4 -url
http://localhost:${SOLR_PORT}
+ solr snapshot-create -c films --snapshot-name snapshot4 -s
http://localhost:${SOLR_PORT}
run solr snapshot-describe -c films --snapshot-name snapshot4
assert_output --partial "Name: snapshot4"
diff --git a/solr/packaging/test/test_ssl.bats
b/solr/packaging/test/test_ssl.bats
index 3d13a16b5db..25615a6fd03 100644
--- a/solr/packaging/test/test_ssl.bats
+++ b/solr/packaging/test/test_ssl.bats
@@ -533,8 +533,7 @@ teardown() {
export SOLR_SSL_KEY_STORE=$ssl_dir/server2.keystore.p12
export SOLR_SSL_TRUST_STORE=$ssl_dir/server2.keystore.p12
- # leaving -a instead of --jvm-opts for back compat testing.
- solr start -z localhost:${ZK_PORT} -p ${SOLR2_PORT} -a
"-Dsolr.jetty.sslContext.reload.scanInterval=1 -DsocketTimeout=5000"
+ solr start -z localhost:${ZK_PORT} -p ${SOLR2_PORT} --jvm-opts
"-Dsolr.jetty.sslContext.reload.scanInterval=1 -DsocketTimeout=5000"
solr assert --started https://localhost:${SOLR2_PORT} --timeout 5000
# "test" collection is two shards, meaning there must be communication
between shards for queries (handled by http shard handler factory)
diff --git a/solr/packaging/test/test_version.bats
b/solr/packaging/test/test_version.bats
index edfebd34663..f4d888033e6 100644
--- a/solr/packaging/test/test_version.bats
+++ b/solr/packaging/test/test_version.bats
@@ -21,22 +21,14 @@ setup() {
common_clean_setup
}
-@test "--version and -v both return Solr version" {
+@test "--version returns Solr version" {
run solr --version
- assert_output --partial "Solr version is:"
-
- run solr -v
- assert_output --partial "Solr version is:"
-
+ assert_output --partial "Solr version is:"
}
-@test "-version and version both return Solr version and deprecation" {
- run solr -version
- assert_output --partial "Solr version is:"
- assert_output --partial "Deprecated operation as of 9.8. Please use
bin/solr --version."
-
+@test "version as direct tool call still runs" {
+ #run ! solr version
+ #assert_output --partial "version is not a valid command! Did you mean
--version?"
run solr version
assert_output --partial "Solr version is:"
- assert_output --partial "Deprecated operation as of 9.8. Please use
bin/solr --version."
-
}
diff --git a/solr/packaging/test/test_zk.bats b/solr/packaging/test/test_zk.bats
index c6a6b184028..240fb072b31 100644
--- a/solr/packaging/test/test_zk.bats
+++ b/solr/packaging/test/test_zk.bats
@@ -66,18 +66,11 @@ teardown() {
@test "connecting to solr via various solr urls and zk hosts" {
sleep 1
- run solr zk ls / -solrUrl http://localhost:${SOLR_PORT}
- assert_output --partial "aliases.json"
- # We do mapping in bin/solr script from -solrUrl to --solr-url that prevents
deprecation warning
- #assert_output --partial "Deprecated for removal since 9.7: Use --solr-url
instead"
-
- run solr zk ls / -url http://localhost:${SOLR_PORT}
- assert_output --partial "aliases.json"
- # We do mapping in bin/solr script from -solrUrl to --solr-url that prevents
deprecation warning
- #assert_output --partial "Deprecated for removal since 9.7: Use --solr-url
instead"
-
run solr zk ls / --solr-url http://localhost:${SOLR_PORT}
assert_output --partial "aliases.json"
+
+ run solr zk ls / -s http://localhost:${SOLR_PORT}
+ assert_output --partial "aliases.json"
run solr zk ls /
assert_output --partial "aliases.json"
@@ -87,11 +80,6 @@ teardown() {
run solr zk ls / --zk-host localhost:${ZK_PORT}
assert_output --partial "aliases.json"
-
- run solr zk ls / -zkHost localhost:${ZK_PORT}
- assert_output --partial "aliases.json"
- # We do mapping in bin/solr script from -zkHost to --zk-host that prevents
deprecation warning
- #assert_output --partial "Deprecated for removal since 9.7: Use --zk-host
instead"
}
@test "copying files around" {
diff --git a/solr/prometheus-exporter/bin/solr-exporter
b/solr/prometheus-exporter/bin/solr-exporter
index 452e597ab55..20377c4b171 100755
--- a/solr/prometheus-exporter/bin/solr-exporter
+++ b/solr/prometheus-exporter/bin/solr-exporter
@@ -120,9 +120,9 @@ if [[ -n "$NUM_THREADS" ]]; then
fi
if [[ -n "$ZK_HOST" ]]; then
- EXPORTER_ARGS+=(-z "$ZK_HOST")
+ EXPORTER_ARGS+=(--zk-host "$ZK_HOST")
elif [[ -n "$SOLR_URL" ]]; then
- EXPORTER_ARGS+=(-b "$SOLR_URL")
+ EXPORTER_ARGS+=(--solr-url "$SOLR_URL")
fi
if [[ -n "$CLUSTER_ID" ]]; then
@@ -130,11 +130,11 @@ if [[ -n "$CLUSTER_ID" ]]; then
fi
if [[ -n "$CREDENTIALS" ]]; then
- EXPORTER_ARGS+=(-u "$CREDENTIALS")
+ EXPORTER_ARGS+=(--credentials "$CREDENTIALS")
fi
if [[ -n "$SSL_ENABLED" ]]; then
- EXPORTER_ARGS+=(-ssl "$SSL_ENABLED")
+ EXPORTER_ARGS+=(--ssl-enabled "$SSL_ENABLED")
fi
exec "$JAVACMD" \
diff --git a/solr/prometheus-exporter/bin/solr-exporter.cmd
b/solr/prometheus-exporter/bin/solr-exporter.cmd
index 7e9dd2a91f2..c55133db616 100644
--- a/solr/prometheus-exporter/bin/solr-exporter.cmd
+++ b/solr/prometheus-exporter/bin/solr-exporter.cmd
@@ -80,11 +80,11 @@ IF NOT "%CONFIG_FILE%"=="" set
EXPORTER_ARGS=%EXPORTER_ARGS% --config-file %CONF
IF NOT "%PORT%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% -p %PORT%
IF NOT "%SCRAPE_INTERVAL%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS%
--scrape-interval %SCRAPE_INTERVAL%
IF NOT "%NUM_THREADS%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% --num-threads
%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%
+IF NOT "%ZK_HOST%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% --zk-host %ZK_HOST%
+IF NOT "%SOLR_URL%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% --solr-url %SOLR_URL%
IF NOT "%CLUSTER_ID%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% --cluster-id
"%CLUSTER_ID%"
-IF NOT "%CREDENTIALS%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% -u "%CREDENTIALS%"
-IF NOT "%SSL_ENABLED%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% -ssl
"%SSL_ENABLED%"
+IF NOT "%CREDENTIALS%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% --credentials
"%CREDENTIALS%"
+IF NOT "%SSL_ENABLED%"=="" set EXPORTER_ARGS=%EXPORTER_ARGS% --ssl-enabled
"%SSL_ENABLED%"
goto endInit
@REM Reaching here means variables are defined and arguments have been captured
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 2a839b0c794..ef24cda66a2 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
@@ -26,7 +26,6 @@ import java.util.concurrent.ExecutorService;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
-import org.apache.commons.cli.DeprecatedAttributes;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
@@ -35,7 +34,6 @@ import org.apache.commons.codec.digest.DigestUtils;
import org.apache.solr.common.util.ExecutorUtil;
import org.apache.solr.common.util.IOUtils;
import org.apache.solr.common.util.SolrNamedThreadFactory;
-import org.apache.solr.common.util.StrUtils;
import org.apache.solr.prometheus.collector.MetricsCollectorFactory;
import org.apache.solr.prometheus.collector.SchedulerMetricsCollector;
import org.apache.solr.prometheus.scraper.SolrCloudScraper;
@@ -51,7 +49,6 @@ public class SolrExporter {
private static final int DEFAULT_PORT = 8989;
private static final String DEFAULT_BASE_URL = "http://localhost:8983/solr";
private static final String DEFAULT_ZK_HOST = "";
- private static final String DEFAULT_CLUSTER_ID = "";
private static final String DEFAULT_CONFIG = "solr-exporter-config.xml";
private static final int DEFAULT_SCRAPE_INTERVAL = 60;
private static final Integer DEFAULT_NUM_THREADS = 1;
@@ -143,36 +140,17 @@ public class SolrExporter {
public static void main(String[] args) {
Options mainOptions = new Options();
- Options deprecatedOptions = new Options();
- // Change to -s and --solr-url in main once deprecated -s flag for
--scrape-interval is removed.
- Option baseUrlOption =
- Option.builder("b")
- .longOpt("base-url")
- .hasArg()
- .argName("BASE_URL")
- .type(String.class)
- .desc(
- "Specify the Solr base URL when connecting to Solr in
standalone mode. If omitted both the -b parameter and the -z parameter, connect
to http://localhost:8983/solr. For example 'http://localhost:8983/solr'.")
- .build();
- mainOptions.addOption(baseUrlOption);
-
- Option baseUrlDepOption =
- Option.builder()
- .longOpt("baseUrl")
+ Option solrUrlOption =
+ Option.builder("s")
+ .longOpt("solr-url")
.hasArg()
.argName("BASE_URL")
.type(String.class)
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.7")
- .setDescription("Use --base-url instead")
- .get())
.desc(
"Specify the Solr base URL when connecting to Solr in
standalone mode. If omitted both the -b parameter and the -z parameter, connect
to http://localhost:8983/solr. For example 'http://localhost:8983/solr'.")
.build();
- deprecatedOptions.addOption(baseUrlDepOption);
+ mainOptions.addOption(solrUrlOption);
Option configOption =
Option.builder()
@@ -182,21 +160,8 @@ public class SolrExporter {
.type(String.class)
.desc("Specify the configuration file; the default is " +
DEFAULT_CONFIG + ".")
.build();
- Option configOptionDeprecated =
- Option.builder("f")
- .hasArg()
- .argName("CONFIG")
- .type(String.class)
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --config-file instead")
- .get())
- .desc("Specify the configuration file; the default is " +
DEFAULT_CONFIG + ".")
- .build();
+
mainOptions.addOption(configOption);
- mainOptions.addOption(configOptionDeprecated);
Option helpOption =
Option.builder("h").longOpt("help").desc("Prints this help
message.").build();
@@ -213,22 +178,6 @@ public class SolrExporter {
.build();
mainOptions.addOption(clusterIdOption);
- Option clusterIdDepOption =
- Option.builder("i")
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --cluster-id instead")
- .get())
- .hasArg()
- .argName("CLUSTER_ID")
- .type(String.class)
- .desc(
- "Specify a unique identifier for the cluster, which can be
used to select between multiple clusters in Grafana. By default this ID will be
equal to a hash of the -b or -z argument")
- .build();
- deprecatedOptions.addOption(clusterIdDepOption);
-
Option numThreadsOption =
Option.builder()
.longOpt("num-threads")
@@ -241,23 +190,6 @@ public class SolrExporter {
+ ".")
.build();
mainOptions.addOption(numThreadsOption);
- Option numThreadsOptionDeprecated =
- Option.builder("n")
- .hasArg()
- .deprecated(
- DeprecatedAttributes.builder()
- .setForRemoval(true)
- .setSince("9.8")
- .setDescription("Use --num-threads instead")
- .get())
- .argName("NUM_THREADS")
- .type(Integer.class)
- .desc(
- "Specify the number of threads. solr-exporter creates a thread
pools for request to Solr. If you need to improve request latency via
solr-exporter, you can increase the number of threads; the default is "
- + DEFAULT_NUM_THREADS
- + ".")
- .build();
- mainOptions.addOption(numThreadsOptionDeprecated);
Option portOption =
Option.builder("p")
@@ -282,26 +214,8 @@ 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")
+ Option.builder()
.longOpt("ssl-enabled")
.type(Boolean.class)
.desc(
@@ -333,7 +247,6 @@ public class SolrExporter {
Options options = new Options();
options.addOptions(mainOptions);
- options.addOptions(deprecatedOptions);
try {
CommandLineParser parser = new DefaultParser();
@@ -353,12 +266,8 @@ public class SolrExporter {
String zkHost = commandLine.getOptionValue(zkHostOption,
DEFAULT_ZK_HOST);
defaultClusterId = makeShortHash(zkHost);
scrapeConfiguration = SolrScrapeConfiguration.solrCloud(zkHost);
- } else if (commandLine.hasOption(baseUrlOption) ||
commandLine.hasOption(baseUrlDepOption)) {
- log.warn("-b and --base-url will be replaced with -s and --solr-url in
Solr 10");
- String baseUrl =
- commandLine.hasOption(baseUrlOption)
- ? commandLine.getOptionValue(baseUrlOption)
- : commandLine.getOptionValue(baseUrlDepOption,
DEFAULT_BASE_URL);
+ } else if (commandLine.hasOption(solrUrlOption)) {
+ String baseUrl = commandLine.getOptionValue(solrUrlOption);
defaultClusterId = makeShortHash(baseUrl);
scrapeConfiguration = SolrScrapeConfiguration.standalone(baseUrl);
}
@@ -366,18 +275,12 @@ public class SolrExporter {
if (scrapeConfiguration == null) {
log.error(
"Must provide either --{} or --{}",
- baseUrlOption.getLongOpt(),
+ solrUrlOption.getLongOpt(),
zkHostOption.getLongOpt());
}
int port = commandLine.getParsedOptionValue(portOption, DEFAULT_PORT);
- String clusterId = commandLine.getOptionValue(clusterIdOption,
DEFAULT_CLUSTER_ID);
- if (commandLine.hasOption("i")) {
- clusterId = commandLine.getOptionValue("i");
- }
- if (StrUtils.isNullOrEmpty(clusterId)) {
- clusterId = defaultClusterId;
- }
+ String clusterId = commandLine.getOptionValue(clusterIdOption,
defaultClusterId);
if (commandLine.hasOption(credentialsOption)) {
String credentials = commandLine.getOptionValue(credentialsOption,
DEFAULT_CREDENTIALS);
@@ -397,25 +300,10 @@ public class SolrExporter {
getSystemVariable("SOLR_SSL_TRUST_STORE_PASSWORD"));
}
- String configFile = DEFAULT_CONFIG;
- if (commandLine.hasOption(configOptionDeprecated)) {
- configFile = commandLine.getOptionValue(configOptionDeprecated);
- } else if (commandLine.hasOption(configOption)) {
- configFile = commandLine.getOptionValue(configOption);
- }
- int numberOfThreads = DEFAULT_NUM_THREADS;
- if (commandLine.hasOption("num-threads")) {
- numberOfThreads = commandLine.getParsedOptionValue("num-threads");
- } else if (commandLine.hasOption("n")) {
- numberOfThreads = commandLine.getParsedOptionValue("n");
- }
-
- int scrapeInterval = DEFAULT_SCRAPE_INTERVAL;
- if (commandLine.hasOption("s")) {
- scrapeInterval =
commandLine.getParsedOptionValue(scrapeIntervalOptionDeprecated);
- } else if (commandLine.hasOption("scrape-interval")) {
- scrapeInterval =
commandLine.getParsedOptionValue(scrapeIntervalOption);
- }
+ String configFile = commandLine.getOptionValue(configOption,
DEFAULT_CONFIG);
+ int numberOfThreads = commandLine.getParsedOptionValue("num-threads",
DEFAULT_NUM_THREADS);
+ int scrapeInterval =
+ commandLine.getParsedOptionValue(scrapeIntervalOption,
DEFAULT_SCRAPE_INTERVAL);
SolrExporter solrExporter =
new SolrExporter(
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 34d540975a6..24704e8037b 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
@@ -236,7 +236,7 @@ The examples below use the `bin/solr` tool that comes with
Solr to do this.
====
[source,terminal]
----
-$ bin/solr cluster --property urlSchema --value https -z
server1:2181,server2:2181,server3:2181
+$ bin/solr cluster --property urlSchema --value https --zk-host
server1:2181,server2:2181,server3:2181
----
====
@@ -245,12 +245,12 @@ Windows::
====
[source,powershell]
----
-C:\> bin/solr.cmd --property urlSchema --value https -z
server1:2181,server2:2181,server3:2181
+C:\> bin/solr.cmd --property urlSchema --value https --zk-host
server1:2181,server2:2181,server3:2181
----
====
======
-Be sure to use the correct `zkhost` value for your system.
+Be sure to use the correct `--zk-host` value for your system.
If you have set up your ZooKeeper ensemble to use a
xref:taking-solr-to-production.adoc#zookeeper-chroot[chroot for Solr], make
sure to include it in the `zkHost` string, e.g., `--zk-host
server1:2181,server2:2181,server3:2181/solr`.
=== Update Cluster Properties for Existing Collections
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 898be24b339..006888ede88 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
@@ -62,7 +62,7 @@ Linux::
[source,bash]
----
$ cd prometheus-exporter
-$ ./bin/solr-exporter -p 9854 -b http://localhost:8983/solr --config-file
./conf/solr-exporter-config.xml --num-threads 8
+$ ./bin/solr-exporter -p 9854 --solr-url http://localhost:8983/solr
--config-file ./conf/solr-exporter-config.xml --num-threads 8
----
.SolrCloud
@@ -80,7 +80,7 @@ Windows::
[source,text]
----
> cd prometheus-exporter
-> .\bin\solr-exporter.cmd -p 9854 -b http://localhost:8983/solr --config-file
.\conf\solr-exporter-config.xml --num-threads 8
+> .\bin\solr-exporter.cmd -p 9854 --solr-url http://localhost:8983/solr
--config-file .\conf\solr-exporter-config.xml --num-threads 8
----
.SolrCloud
@@ -117,16 +117,16 @@ The port where Prometheus will listen for new data.
This port will be used to configure Prometheus.
It can be any port not already in use on your server.
-`-b`, `--baseurl`, `$SOLR_URL`::
+`-s`, `--solr-url`, `$SOLR_URL`::
+
[%autowidth,frame=none]
|===
|Optional |Default: _see description_
|===
+
-The Solr base URL (such as `\http://localhost:8983/solr`) when Solr is running
in a The Solr base URL (such as `\http://localhost:8983/solr`) when Solr is
running in a user-managed cluster or a single-node installation.
+The Solr base URL (such as `http://localhost:8983/solr`) when Solr is running
in a user-managed cluster or a single-node installation.
If you are running SolrCloud, do not specify this parameter.
-If neither the `-b` parameter nor the `-z` parameter are defined, the default
is `-b \http://localhost:8983/solr`.
+If neither the `-s` parameter nor the `-z` parameter are defined, the default
is `--solr-url http://localhost:8983/solr`.
`-z`, `--zk-host`, `$ZK_HOST`::
+
@@ -137,7 +137,7 @@ If neither the `-b` parameter nor the `-z` parameter are
defined, the default is
+
The ZooKeeper connect string (such as `localhost:9983`, or
`localhost:2181/solr`) when Solr is running SolrCloud.
If you are running a user-managed cluster or single-node installation, do not
specify this parameter.
-If neither the `-b` parameter nor the `-z` parameter are defined, the `-b`
parameter default is used.
+If neither the `--solr-url` parameter nor the `-z` parameter are defined, the
`--solr-url` parameter default is used.
`--config-file`, `$CONFIG_FILE`::
+
@@ -178,7 +178,7 @@ The freshness of the metrics can be improved by reducing
the scrape interval but
|Optional |Default: _see description_
|===
+
-A unique ID for the cluster to monitor. This ID will be added to all metrics
as a label `cluster_id` and can be used as a filter in the Grafana dashboard if
you operate multiple Solr clusters reporting to the same Prometheus instance.
If this option is omitted, a hash of the `baseUrl` or `zkHost` will be used as
ID by default.
+A unique ID for the cluster to monitor. This ID will be added to all metrics
as a label `cluster_id` and can be used as a filter in the Grafana dashboard if
you operate multiple Solr clusters reporting to the same Prometheus instance.
If this option is omitted, a hash of the `--solr-url` or `--zk-host` will be
used as ID by default.
`-u`, `--credentials`, `$CREDENTIALS`::
+
@@ -190,7 +190,7 @@ A unique ID for the cluster to monitor. This ID will be
added to all metrics as
Specify the credentials in the format `username:password`. Example:
`--credentials solr:SolrRocks`.
-`-ssl`, `--ssl-enabled`, `$SSL_ENABLED`::
+`--ssl-enabled`, `$SSL_ENABLED`::
+
[%autowidth,frame=none]
|===