diff --git a/solr/core/src/java/org/apache/solr/cloud/Overseer.java b/solr/core/src/java/org/apache/solr/cloud/Overseer.java index 0163af9e2e7..37278e9dd84 100644 --- a/solr/core/src/java/org/apache/solr/cloud/Overseer.java +++ b/solr/core/src/java/org/apache/solr/cloud/Overseer.java @@ -166,17 +166,12 @@ public class Overseer { } else if (DELETECORE.equals(operation)) { clusterState = removeCore(clusterState, message); } else if (ZkStateReader.LEADER_PROP.equals(operation)) { - StringBuilder sb = new StringBuilder(); String baseUrl = message.get(ZkStateReader.BASE_URL_PROP); String coreName = message.get(ZkStateReader.CORE_NAME_PROP); - sb.append(baseUrl); - if (!baseUrl.endsWith("/")) sb.append("/"); - sb.append(coreName == null ? "" : coreName); - if (!(sb.substring(sb.length() - 1).equals("/"))) sb - .append("/"); + final String leaderUrl = ZkCoreNodeProps.getCoreUrl(baseUrl, coreName); clusterState = setShardLeader(clusterState, message.get(ZkStateReader.COLLECTION_PROP), - message.get(ZkStateReader.SHARD_ID_PROP), sb.toString()); + message.get(ZkStateReader.SHARD_ID_PROP), leaderUrl); } else { throw new RuntimeException("unknown operation:" + operation + " contents:" + message.getProperties()); diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkCoreNodeProps.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkCoreNodeProps.java index ee6b9301bce..facb216bcfb 100644 --- a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkCoreNodeProps.java +++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkCoreNodeProps.java @@ -24,7 +24,6 @@ public class ZkCoreNodeProps { this.nodeProps = nodeProps; } - // may return null public String getCoreUrl() { return getCoreUrl(nodeProps.get(ZkStateReader.BASE_URL_PROP), nodeProps.get(ZkStateReader.CORE_NAME_PROP)); } @@ -51,13 +50,10 @@ public class ZkCoreNodeProps { public static String getCoreUrl(String baseUrl, String coreName) { StringBuilder sb = new StringBuilder(); - if (baseUrl == null) return null; - if (coreName == null) return null; sb.append(baseUrl); if (!baseUrl.endsWith("/")) sb.append("/"); - sb.append(coreName == null ? "" : coreName); + sb.append(coreName); if (!(sb.substring(sb.length() - 1).equals("/"))) sb.append("/"); - return sb.toString(); }