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));
}