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 538145f5567 SOLR-16773: UI: Cloud>Nodes screen fix display of cores 
with non-standard shard names (#1593)
538145f5567 is described below

commit 538145f5567ddc04079f9cf51dacf1ffc09f0162
Author: Jan Høydahl <[email protected]>
AuthorDate: Mon May 1 00:00:31 2023 +0200

    SOLR-16773: UI: Cloud>Nodes screen fix display of cores with non-standard 
shard names (#1593)
---
 solr/CHANGES.txt                                |  2 ++
 solr/webapp/web/js/angular/controllers/cloud.js | 11 +++++------
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 8ed03ae6193..b7408f05201 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -158,6 +158,8 @@ Bug Fixes
 
 * SOLR-16755: bin/solr's '-noprompt' option no longer works for examples 
(hossman, janhoy, Houston Putman)
 
+* SOLR-16773: UI: Cloud>Nodes screen - fix display of cores with non-standard 
shard names (janhoy, hossman)
+
 * SOLR-7609: Internal update requests should fail back to the client in some 
edge cases for shard splits. Use HTTP status 510 so the client can retry the 
operation. (Alex Deparvu, David Smiley, Tomás Fernández Löbbe)
 
 * SOLR-16737: Http2SolrClient needs to inherit all properties when initialized 
with another http2 client (Alex Deparvu, Tomás Fernández Löbbe)
diff --git a/solr/webapp/web/js/angular/controllers/cloud.js 
b/solr/webapp/web/js/angular/controllers/cloud.js
index 97f2327675a..ece27cb657a 100644
--- a/solr/webapp/web/js/angular/controllers/cloud.js
+++ b/solr/webapp/web/js/angular/controllers/cloud.js
@@ -107,10 +107,6 @@ function isNumeric(n) {
   return !isNaN(parseFloat(n)) && isFinite(n);
 }
 
-function coreNameToLabel(name) {
-  return name.replace(/(.*?)_shard((\d+_?)+)_replica_?[ntp]?(\d+)/, 
'\$1_s\$2r\$4');
-}
-
 var nodesSubController = function($scope, Collections, System, Metrics) {
   $scope.pageSize = 10;
   $scope.showNodes = true;
@@ -198,10 +194,13 @@ var nodesSubController = function($scope, Collections, 
System, Metrics) {
           for (var replicaName in replicas) {
             var core = replicas[replicaName];
             core.name = replicaName;
-            core.label = coreNameToLabel(core['core']);
+            core.replica = core['core'].replace(/.*_(replica_.*)$/, '\$1');
             core.collection = collection.name;
             core.shard = shard.name;
             core.shard_state = shard.state;
+            core.label = core['collection'] + "_"
+              + (core['shard'] + "_").replace(/shard(\d+)_/, 's\$1')
+              + core['replica'].replace(/replica_?[ntp]?(\d+)/, 'r\$1');
 
             var node_name = core['node_name'];
             var node = getOrCreateObj(node_name, nodes);
@@ -433,7 +432,7 @@ var nodesSubController = function($scope, Collections, 
System, Metrics) {
                   var labelState = (core['state'] !== 'active') ? 
core['state'] : core['shard_state'];
                   core['label'] += "_(" + labelState + ")";
                 }
-                var coreMetricName = "solr.core." + 
core['core'].replace(/(.*?)_(shard(\d+_?)+)_(replica.*?)/, '\$1.\$2.\$4');
+                var coreMetricName = "solr.core." + core['collection'] + "." + 
core['shard'] + "." + core['replica'];
                 var coreMetric = m.metrics[coreMetricName];
                 // we may not actually get metrics back for every expected 
core (the core may be down)
                 if (coreMetric) {

Reply via email to