Skip to content

Commit

Permalink
SOLR-17213: Make warning optional so we can warn only when solrUrl is…
Browse files Browse the repository at this point in the history
… user entered (#2377)

Prevent spurious warnings to the console for Solr URL's that are NOT entered by the user, but instead are looked up by the CLI from Solr itself.
  • Loading branch information
epugh committed Apr 10, 2024
1 parent d1cfc31 commit 5ea9959
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 6 deletions.
2 changes: 2 additions & 0 deletions solr/CHANGES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ Bug Fixes
* SOLR-17206: Eliminate the possibility of a -1 status code for SolrCloud update requests that are distributed.
(Paul McArthur)

* SOLR-17213: Fix spurious warnings about solr url format in Solr CLI when users aren't providing a deprecated solr url. (Eric Pugh)

Dependency Upgrades
---------------------

Expand Down
27 changes: 21 additions & 6 deletions solr/core/src/java/org/apache/solr/cli/SolrCLI.java
Original file line number Diff line number Diff line change
Expand Up @@ -527,15 +527,29 @@ public static String uptime(long uptimeMs) {
* @return the solrUrl in the format that Solr expects to see internally.
*/
public static String normalizeSolrUrl(String solrUrl) {
return normalizeSolrUrl(solrUrl, true);
}

/**
* Strips off the end of solrUrl any /solr when a legacy solrUrl like http://localhost:8983/solr
* is used, and optionally logs a warning. In the future we'll have urls ending with /api as well.
*
* @param solrUrl The user supplied url to Solr.
* @param logUrlFormatWarning If a warning message should be logged about the url format
* @return the solrUrl in the format that Solr expects to see internally.
*/
public static String normalizeSolrUrl(String solrUrl, boolean logUrlFormatWarning) {
if (solrUrl != null) {
if (solrUrl.contains("/solr")) { //
String newSolrUrl = solrUrl.substring(0, solrUrl.indexOf("/solr"));
CLIO.out(
"WARNING: URLs provided to this tool needn't include Solr's context-root (e.g. \"/solr\"). Such URLs are deprecated and support for them will be removed in a future release. Correcting from ["
+ solrUrl
+ "] to ["
+ newSolrUrl
+ "].");
if (logUrlFormatWarning) {
CLIO.out(
"WARNING: URLs provided to this tool needn't include Solr's context-root (e.g. \"/solr\"). Such URLs are deprecated and support for them will be removed in a future release. Correcting from ["
+ solrUrl
+ "] to ["
+ newSolrUrl
+ "].");
}
solrUrl = newSolrUrl;
}
if (solrUrl.endsWith("/")) {
Expand Down Expand Up @@ -572,6 +586,7 @@ public static String resolveSolrUrl(CommandLine cli) throws Exception {

String firstLiveNode = liveNodes.iterator().next();
solrUrl = ZkStateReader.from(cloudSolrClient).getBaseUrlForNodeName(firstLiveNode);
solrUrl = normalizeSolrUrl(solrUrl, false);
}
}
}
Expand Down

0 comments on commit 5ea9959

Please sign in to comment.