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]

Reply via email to