This is an automated email from the ASF dual-hosted git repository. jenniferdai pushed a commit to branch tenantNotFound in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
commit a5fd827af7f0205e75d4c7e0006c80f3738b732a Author: Jennifer Dai <[email protected]> AuthorDate: Thu Jan 9 15:06:17 2020 -0800 Tenant not found --- .../api/resources/PinotTenantRestletResource.java | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotTenantRestletResource.java b/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotTenantRestletResource.java index 5f11c52..75861fd 100644 --- a/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotTenantRestletResource.java +++ b/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotTenantRestletResource.java @@ -46,10 +46,10 @@ import org.apache.pinot.common.config.TableConfig; import org.apache.pinot.common.config.Tenant; import org.apache.pinot.common.metrics.ControllerMeter; import org.apache.pinot.common.metrics.ControllerMetrics; -import org.apache.pinot.spi.utils.JsonUtils; import org.apache.pinot.common.utils.TenantRole; import org.apache.pinot.controller.helix.core.PinotHelixResourceManager; import org.apache.pinot.controller.helix.core.PinotResourceManagerResponse; +import org.apache.pinot.spi.utils.JsonUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -259,19 +259,21 @@ public class PinotTenantRestletResource { private String listInstancesForTenant(String tenantName, String tenantType) { ObjectNode resourceGetRet = JsonUtils.newObjectNode(); + Set<String> allServerInstances = pinotHelixResourceManager.getAllInstancesForServerTenant(tenantName); + Set<String> allBrokerInstances = pinotHelixResourceManager.getAllInstancesForBrokerTenant(tenantName); + if (allServerInstances.isEmpty() && allBrokerInstances.isEmpty()) { + throw new ControllerApplicationException(LOGGER, "Failed to find any instances for tenant: " + tenantName, + Response.Status.NOT_FOUND); + } if (tenantType == null) { - resourceGetRet.set("ServerInstances", - JsonUtils.objectToJsonNode(pinotHelixResourceManager.getAllInstancesForServerTenant(tenantName))); - resourceGetRet.set("BrokerInstances", - JsonUtils.objectToJsonNode(pinotHelixResourceManager.getAllInstancesForBrokerTenant(tenantName))); + resourceGetRet.set("ServerInstances", JsonUtils.objectToJsonNode(allServerInstances)); + resourceGetRet.set("BrokerInstances", JsonUtils.objectToJsonNode(allBrokerInstances)); } else { if (tenantType.equalsIgnoreCase("server")) { - resourceGetRet.set("ServerInstances", - JsonUtils.objectToJsonNode(pinotHelixResourceManager.getAllInstancesForServerTenant(tenantName))); + resourceGetRet.set("ServerInstances", JsonUtils.objectToJsonNode(allServerInstances)); } if (tenantType.equalsIgnoreCase("broker")) { - resourceGetRet.set("BrokerInstances", - JsonUtils.objectToJsonNode(pinotHelixResourceManager.getAllInstancesForBrokerTenant(tenantName))); + resourceGetRet.set("BrokerInstances", JsonUtils.objectToJsonNode(allBrokerInstances)); } } resourceGetRet.put(TENANT_NAME, tenantName); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
