This is an automated email from the ASF dual-hosted git repository.
janhoy pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_9x by this push:
new 0ee11884342 SOLR-16773: UI: Cloud>Nodes screen fix display of cores
with non-standard shard names (#1593)
0ee11884342 is described below
commit 0ee1188434280877aab76698e92b7d027d6e16c8
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 76f699c01c5..a507ad8b404 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -126,6 +126,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) {