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

janhoy 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 1c21e7a  SOLR-15691: Admin UI raises yellow warning even when only 
case differ (#345)
1c21e7a is described below

commit 1c21e7a1b4be6ba708ef09e02c619cc828b0067f
Author: Jan Høydahl <[email protected]>
AuthorDate: Tue Oct 12 23:43:01 2021 +0200

    SOLR-15691: Admin UI raises yellow warning even when only case differ (#345)
---
 solr/CHANGES.txt                                                      | 2 ++
 .../java/org/apache/solr/handler/admin/ZookeeperStatusHandler.java    | 4 ++--
 .../org/apache/solr/handler/admin/ZookeeperStatusHandlerTest.java     | 4 ++--
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 57b129e..076b5ad 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -410,6 +410,8 @@ Bug Fixes
 ---------------------
 * SOLR-15626: The "config-read" permission has been fixed to properly allow 
access to `/solr/admin/configs?action=LIST` (Jon Senchyna via Eric Pugh)
 
+* SOLR-15691: Admin UI raises yellow warning even when only case of hostnames 
differ (janhoy)
+
 Build
 ---------------------
 
diff --git 
a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperStatusHandler.java 
b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperStatusHandler.java
index 03a6dbb..5bf7770 100644
--- 
a/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperStatusHandler.java
+++ 
b/solr/core/src/java/org/apache/solr/handler/admin/ZookeeperStatusHandler.java
@@ -119,10 +119,10 @@ public class ZookeeperStatusHandler extends 
RequestHandlerBase {
     } else {
       dynamicReconfig = true;
       List<String> connStringHosts = 
hostsFromConnectionString.getServers().stream()
-          .map(h -> h.resolveClientPortAddress() + ":" + h.clientPort)
+          .map(h -> h.resolveClientPortAddress().toLowerCase(Locale.ROOT) + 
":" + h.clientPort)
           .sorted().collect(Collectors.toList());
       List<String> dynamicHosts = zkDynamicConfig.getServers().stream()
-          .map(h -> h.resolveClientPortAddress() + ":" +
+          .map(h -> h.resolveClientPortAddress().toLowerCase(Locale.ROOT) + 
":" +
                   (h.clientPort != null ? h.clientPort : 
hostsFromConnectionString.getServers().get(0).clientPort))
           .sorted().collect(Collectors.toList());
       if (!connStringHosts.containsAll(dynamicHosts)) {
diff --git 
a/solr/core/src/test/org/apache/solr/handler/admin/ZookeeperStatusHandlerTest.java
 
b/solr/core/src/test/org/apache/solr/handler/admin/ZookeeperStatusHandlerTest.java
index b14c0c4..f9efc39 100644
--- 
a/solr/core/src/test/org/apache/solr/handler/admin/ZookeeperStatusHandlerTest.java
+++ 
b/solr/core/src/test/org/apache/solr/handler/admin/ZookeeperStatusHandlerTest.java
@@ -239,7 +239,7 @@ public class ZookeeperStatusHandlerTest extends 
SolrCloudTestCase {
     when(zkStatusHandler.validateZkRawResponse(ArgumentMatchers.any(), any(), 
any())).thenAnswer(Answers.CALLS_REAL_METHODS);
 
     // Verifying that parsing the status strings with floating point no longer 
triggers a NumberFormatException, although floats are still displayed in UI
-    Map<String, Object> mockStatus = zkStatusHandler.getZkStatus("zoo1:2181", 
ZkDynamicConfig.fromZkConnectString("zoo1:2181"));
+    Map<String, Object> mockStatus = zkStatusHandler.getZkStatus("Zoo1:2181", 
ZkDynamicConfig.fromZkConnectString("zoo1:2181"));
     String expected = "{\n" +
             "  \"mode\":\"ensemble\",\n" +
             "  \"dynamicReconfig\":true,\n" +
@@ -252,7 +252,7 @@ public class ZookeeperStatusHandlerTest extends 
SolrCloudTestCase {
             "      \"clientPort\":\"2181\",\n" +
             "      \"ok\":true,\n" +
             "      \"zk_server_state\":\"leader\"}],\n" +
-            "  \"zkHost\":\"zoo1:2181\",\n" +
+            "  \"zkHost\":\"Zoo1:2181\",\n" +
             "  \"status\":\"green\"}";
     assertEquals(expected, JSONUtil.toJSON(mockStatus));
   }

Reply via email to