Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
7.2
-
None
Description
I noticed a number of errors/problems/peculiarities in the Usage Messages that are displayed when using bin/solr.cmd with the parameter -help.
The items are listed in no particular order and may be addressed independantly.
To spot the differences between the Usage Messages of bin/solr and bin/solr.cmd I compiled an extract of the Usage Messages of the two files so that they can be compared using WinMerge or a similar diff tool.
See the attached files solr.cmd.txt and solr.txt.
Note that I work on a German Windows 10, therefore some error messages I quote here are in German.
- solr start -help results in a syntax error
The special characters '<' and '>' are not escaped.
The line 314 must be changed as follows:CURRENT : ... the default server/<dir> SHALL_BE: ... the default server/^<dir^>
- solr auth -help ends is empty
A goto label ':auth_usage' with the appropriate Usage Messages already exists.
At line 266 an additional if-statement is required.
Also, a respective if-statement will be required on line 1858.NEW_CODE: IF "%SCRIPT_CMD%"=="auth" goto auth_usage
Some additional bugs in the section ':auth_usage' must then also be addressed.
The special character '|' is not escaped at a number of locations.
The lines 568, 569, 570, 577, 580 and 585 must be changed, e.g.CURRENT : echo Usage: solr auth enable [-type basicAuth] -credentials user:pass [-blockUnknown ^<true|false^>] [-updateIncludeFileOnly ^<true|false^>] [-V] SHALL_BE: echo Usage: solr auth enable [-type basicAuth] -credentials user:pass [-blockUnknown ^<true^|false^>] [-updateIncludeFileOnly ^<true^|false^>] [-V]
The empty 'echo' statement (i.e. 'newline') needs the be written with a dot ('echo.') to avoid "ECHO ist ausgeschaltet (OFF)." statements.
The lines 571, 573, 576, 577, 579, 584, 587, 589, 591, 594 and 596 must be changed:CURRENT : echo SHALL_BE: echo.
- solr -help does not mention the command status
The line 271 must be changed as follows:CURRENT : @echo where COMMAND is one of: start, stop, restart, healthcheck, create, create_core, create_collection, delete, version, zk, auth, assert SHALL_BE: @echo where COMMAND is one of: start, stop, restart, status, healthcheck, create, create_core, create_collection, delete, version, zk, auth, assert
- In bin/solr.cmd the description of solr start -p port does not mention the STOP_PORT and the RMI_PORT, see line 324 to 326 of bin/solr.
echo " -p <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"
- The description of solr start -s dir seems to have been revised in bin/solr.cmd but not in bin/solr.
on which example is run. The default value is server/solr. If passed a relative dir validation with the current dir will be done before trying the default server/<dir>
vs.
on which example is run. The default value is server/solr. If passed relative dir, validation with current dir will be done, before trying default server/<dir>
- The description of solr start -t dir is different
-t dir Sets the solr.data.home system property, used as root for ^<instance_dir^>/data directories. If not set, Solr uses solr.solr.home for both config and data.
vs.
-t <dir> Sets the solr.data.home system property, where Solr will store data (index). If not set, Solr uses solr.solr.home for config and data.
- The description of solr start -V does not mention -verbose
-V Verbose messages from this script
vs.
-V or -verbose Verbose messages from this script
- The syntax of solr stop does not mention the parameter -V
Usage: solr stop [-k key] [-p port]
vs.
Usage: solr stop [-k key] [-p port] [-V]
Note that there is also no description of -V in bin/solr, even though the parameter is mentioned in the syntax.
- The description of solr stop does not mention the command status
This additional information is present in bin/solr.NOTE: To see if any Solr servers are running, do: solr status
This can be added in the section ':stop_usage' at line 352.
- The syntax of solr healthcheck does not mention the parameter -V
Usage: solr healthcheck [-c collection] [-z zkHost]
vs.
Usage: solr healthcheck [-c collection] [-z zkHost] [-V]
- There is no Usage Message for solr status.
The command solr status -help does not output any help message, it actually runs the solr status instead.Usage: solr status NOTE: This command will show the status of all running Solr servers
A new goto label ':status_usage' is required, probably right after the label ':start_usage'.
At line 266 an additional if-statement is required.
Also, a respective if-statement will be required on line 1858.
- The syntax of solr stop -deleteConfig mentions boolean, while everywhere else this is indicated as true|false
Usage: solr delete [-c name] [-deleteConfig boolean] [-p port] [-V]
vs.
Usage: solr delete [-c name] [-deleteConfig true|false] [-p port] [-V]
- The description of solr delete -c name is different
Note: The documentation should say delete, not create a core.-c name Name of core to create
vs.
-c <name> Name of the core / collection to delete
- The description of solr delete -p port is different
Note: The documentation should say delete, not create a core.-p port Port of a local Solr instance where you want to create the new core
vs.
-p <port> Port of a local Solr instance where you want to delete the core/collection
- The description of solr delete -V is spelt differently
-V Enable more verbose output.
vs.
-V Enables more verbose output.
- The description of solr create_core -c uses a different parameter name
Usage: solr create_core [-c name] [-d confdir] [-p port] [-V] -c name Name of core to create
vs.
Usage: solr create_core [-c core] [-d confdir] [-p port] [-V] -c <core> Name of core to create
- The description of solr create_collection -c and -n uses a different parameter name
Usage: solr create_collection [-c name] [-d confdir] [-n confname] [-shards #] [-replicationFactor #] [-p port] [-V] -c name Name of collection to create -d confdir Configuration directory to copy when creating the new collection, built-in options are:
vs.
Usage: solr create_collection [-c collection] [-d confdir] [-n configName] [-shards #] [-replicationFactor #] [-p port] [-V] -c <collection> Name of collection to create -d <confdir> Configuration directory to copy when creating the new collection, built-in options are:
- The description of solr create_collection -shards does not mention the default value
-shards # Number of shards to split the collection into
vs.
-shards <#> Number of shards to split the collection into; default is 1
- The description of solr create_collection -replicationFactor does not mention the default value
-replicationFactor # Number of copies of each document in the collection
vs.
-replicationFactor <#> Number of copies of each document in the collection, default is 1 (no replication)
- The description of solr zk cp <src>, <dest> is missing a sentence
^<src^>, ^<dest^> : [file:][/]path/to/local/file or zk:/path/to/zk/node NOTE: ^<src^> and ^<dest^> may both be Zookeeper resources prefixed by 'zk:' When ^<src^> is a zk resource, ^<dest^> may be '.' element of the ^<src^> path will be appended unless ^<src^> also ends in a slash. ^<dest^> may be zk:, which may be useful when using the cp -r form to backup/restore
vs.
<src>, <dest> : [file:][/]path/to/local/file or zk:/path/to/zk/node NOTE: <src> and <dest> may both be Zookeeper resources prefixed by 'zk:' When <src> is a zk resource, <dest> may be '.' If <dest> ends with '/', then <dest> will be a local folder or parent znode and the last element of the <src> path will be appended unless <src> also ends in a slash. <dest> may be zk:, which may be useful when using the cp -r form to backup/restore
Also, the fullstop here should be at the end of the sentence, not on the next line.
but 'bin/solr zk cp -r /some/dir/* zk:/ -z localhost:2181' will throw an error .
The sentence "here's an example of backup/restore ..." should start with a captial letter.
The paragraph from "... the entire zk state." to "... /some/dir/ zk:/ -z localhost:2181'" has one space too much indentation.
- The description of solr zk mkroot is different
mkroot makes a znode in Zookeeper with no data. Can be used to make a path of arbitrary
vs.
mkroot makes a znode on Zookeeper with no data. Can be used to make a path of arbitrary
- The description of solr auth is different
Basic usage does not mention -type kerberos:Usage: solr auth enable [-type basicAuth] -credentials user:pass [-blockUnknown ^<true|false^>] [-updateIncludeFileOnly ^<true|false^>] [-V] solr auth enable [-type basicAuth] -prompt ^<true|false^> [-blockUnknown ^<true|false^>] [-updateIncludeFileOnly ^<true|false^>] [-V] solr auth disable [-updateIncludeFileOnly ^<true|false^>] [-V]
vs.
Usage: solr auth enable [-type basicAuth] -credentials user:pass [-blockUnknown <true|false>] [-updateIncludeFileOnly <true|false>] [-V] solr auth enable [-type basicAuth] -prompt <true|false> [-blockUnknown <true|false>] [-updateIncludeFileOnly <true|false>] [-V] solr auth enable -type kerberos -config \"<kerberos configs>\" [-updateIncludeFileOnly <true|false>] [-V] solr auth disable [-updateIncludeFileOnly <true|false>] [-V]
The description of the paramter -type is different-type ^<type^> The authentication mechanism to enable. Defaults to 'basicAuth'.
vs.
-type <type> The authentication mechanism (basicAuth or kerberos) to enable. Defaults to 'basicAuth'.
The description of the paramter -credentials is different-credentials ^<user:pass^> The username and password of the initial user
vs.
-credentials <user:pass> The username and password of the initial user. Applicable for basicAuth only.
The description of the paramter -config is missing-config \"<configs>\" Configuration parameters (Solr startup parameters). Required and applicable only for Kerberos
The description of the paramter -blockUnknown is differentguide for Basic Authentication for more details.
vs.
guide for Basic Authentication for more details. Applicable for basicAuth only.
The descriptions of the paramters -updateIncludeFileOnly, -d and -s contain an annoying double quote at the end of the line
The descriptions of the paramters -d and -s do not escape '<' and '>', resulting in error messages in the command line (note that before fixing the call to ':auth_usage' there is no output at all, see point 2 above).
C:\solr-7.2.0_test\bin>solr.cmd auth -help
Usage: ... <blablabla> ...
-updateIncludeFileOnly <true|false> Only update the solr.in.sh or solr.in.cmd file, and skip actual enabling/disabling"
authentication (i.e. don't update security.json)"
-z zkHost Zookeeper connection string
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
configuration files (e.g. basicAuth.conf) would be placed."
-V Enable more verbose output
Attachments
Attachments
Issue Links
- is duplicated by
-
SOLR-12218 solr.cmd will skip part of help text due to missing special character quote
- Closed