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

ishan pushed a commit to branch jira/SOLR15694
in repository https://gitbox.apache.org/repos/asf/solr.git

commit 8a37db95ab1325585170eb922995512e4377097b
Author: Noble Paul <[email protected]>
AuthorDate: Sun Dec 19 15:24:39 2021 +1100

    rearranged API paths
---
 .../java/org/apache/solr/handler/ClusterAPI.java   | 10 ++++----
 .../test/org/apache/solr/cloud/NodeRolesTest.java  |  6 ++---
 solr/solr-ref-guide/src/node-roles.adoc            | 27 ++++++++++++++++++----
 3 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java 
b/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java
index 39f4750..6a0148e 100644
--- a/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java
@@ -116,7 +116,7 @@ public class ClusterAPI {
   }
 
   @EndPoint(method = GET,
-          path = "/cluster/node-roles/{role}",
+          path = "/cluster/node-roles/role/{role}",
           permission = COLL_READ_PERM)
   public void nodesWithRole(SolrQueryRequest req, SolrQueryResponse rsp) 
throws Exception {
     String role = req.getPathTemplateValues().get("role");
@@ -126,7 +126,7 @@ public class ClusterAPI {
   }
 
   @EndPoint(method = GET,
-          path = "/cluster/node-roles/nodes/{node}",
+          path = "/cluster/node-roles/node/{node}",
           permission = COLL_READ_PERM)
   @SuppressWarnings("unchecked")
   public void rolesForNode(SolrQueryRequest req, SolrQueryResponse rsp) throws 
Exception {
@@ -152,9 +152,7 @@ public class ClusterAPI {
           path = "/cluster/node-roles/supported",
           permission = COLL_READ_PERM)
   public void supportedRoles(SolrQueryRequest req, SolrQueryResponse rsp) 
throws Exception {
-    //rsp.add("supported-roles",
-    //                
collectionsHandler.getCoreContainer().getZkController().getSolrCloudManager().getDistribStateManager().listData(ZkStateReader.NODE_ROLES));
-    Map<String, Object> roleModesSupportedMap = new HashMap<>();
+     Map<String, Object> roleModesSupportedMap = new HashMap<>();
     for (NodeRoles.Role role: NodeRoles.Role.values()) {
       roleModesSupportedMap.put(role.toString(), Map.of("modes", 
role.supportedModes(), "defaultIfAbsent", role.defaultIfAbsent()));
     }
@@ -162,7 +160,7 @@ public class ClusterAPI {
   }
 
   @EndPoint(method = GET,
-          path = "/cluster/node-roles/{role}/{role-val}",
+          path = "/cluster/node-roles/role/{role}/{role-val}",
           permission = COLL_READ_PERM)
   public void nodesWithRoleVal(SolrQueryRequest req, SolrQueryResponse rsp) 
throws Exception {
     String role = req.getPathTemplateValues().get("role");
diff --git a/solr/core/src/test/org/apache/solr/cloud/NodeRolesTest.java 
b/solr/core/src/test/org/apache/solr/cloud/NodeRolesTest.java
index 1970f6c..63f7d86 100644
--- a/solr/core/src/test/org/apache/solr/cloud/NodeRolesTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/NodeRolesTest.java
@@ -72,12 +72,12 @@ public class NodeRolesTest extends SolrCloudTestCase {
     assertTrue( ((Collection)rsp._get("node-roles/overseer/preferred", 
Collections.emptyList())).contains(j2.getNodeName()));
     assertTrue( ((Collection)rsp._get("node-roles/data/on", 
Collections.emptyList())).contains(j2.getNodeName()));
 
-    rsp = new 
V2Request.Builder("/cluster/node-roles/overseer").GET().build().process(cluster.getSolrClient());
+    rsp = new 
V2Request.Builder("/cluster/node-roles/role/overseer").GET().build().process(cluster.getSolrClient());
 
     assertTrue( ((Collection)rsp._get("node-roles/overseer/preferred", 
Collections.emptyList())).contains(j2.getNodeName()));
     assertTrue( ((Collection)rsp._get("node-roles/overseer/preferred", 
Collections.emptyList())).contains(j1.getNodeName()));
 
-    rsp = new 
V2Request.Builder("/cluster/node-roles/overseer/preferred").GET().build().process(cluster.getSolrClient());
+    rsp = new 
V2Request.Builder("/cluster/node-roles/role/overseer/preferred").GET().build().process(cluster.getSolrClient());
     assertTrue( ((Collection)rsp._get("node-roles/overseer/preferred", 
Collections.emptyList())).contains(j2.getNodeName()));
     assertTrue( ((Collection)rsp._get("node-roles/overseer/preferred", 
Collections.emptyList())).contains(j1.getNodeName()));
 
@@ -94,7 +94,7 @@ public class NodeRolesTest extends SolrCloudTestCase {
 
     // Shutdown the dedicated overseer, make sure that node disappears from 
the roles output
     j1.stop();
-    rsp = new 
V2Request.Builder("/cluster/node-roles/overseer/preferred").GET().build().process(cluster.getSolrClient());
+    rsp = new 
V2Request.Builder("/cluster/node-roles/role/overseer/preferred").GET().build().process(cluster.getSolrClient());
     assertFalse (((Collection) rsp._get("node-roles/overseer/preferred" , 
null)). contains(j1.getNodeName()));
   }
 
diff --git a/solr/solr-ref-guide/src/node-roles.adoc 
b/solr/solr-ref-guide/src/node-roles.adoc
index 3e902fa..e5a70ec 100644
--- a/solr/solr-ref-guide/src/node-roles.adoc
+++ b/solr/solr-ref-guide/src/node-roles.adoc
@@ -135,14 +135,14 @@ curl http://localhost:8983/api/cluster/node-roles
 }
 ----
 
-=== GET /api/cluster/node-roles/{role}
+=== GET /api/cluster/node-roles/role/{role}
 
 Fetches the current node roles assignment for a specified role.
 
 *Input*
 [source,text]
 ----
-http://localhost:8983/api/node-roles/data
+http://localhost:8983/api/node-roles/role/data
 ----
 
 *Output*
@@ -158,15 +158,34 @@ http://localhost:8983/api/node-roles/data
 }
 ----
 
+*Input*
+[source,text]
+----
+http://localhost:8983/api/node-roles/role/data/off
+----
+
+*Output*
+[source,text]
+----
+{
+  "node-roles":{
+    "data":{
+      "off":["solr2:8983_solr"]
+    }
+  }
+}
+----
+
+
 
-=== GET /api/cluster/node-roles/nodes/{node}
+=== GET /api/cluster/node-roles/node/{node}
 
 Fetches the current node roles assignment for the specified node.
 
 *Input*
 [source,text]
 ----
-curl http://localhost:8983/api/cluster/node-roles/nodes/solr1:8983_solr
+curl http://localhost:8983/api/cluster/node-roles/node/solr1:8983_solr
 ----
 
 *Output*

Reply via email to