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 483f9849006b995d36dfaaf6099e8756f4b9e5b9 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*
