You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by si...@apache.org on 2019/04/11 06:08:28 UTC

[pulsar] branch master updated: [Issue 3987][pulsar-broker]Handle config is null when create tenant (#4019)

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

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 61e9e1b  [Issue 3987][pulsar-broker]Handle config is null when create tenant (#4019)
61e9e1b is described below

commit 61e9e1b75f0ff0d38744c6afa90091936b7410d0
Author: tuteng <eg...@gmail.com>
AuthorDate: Thu Apr 11 14:08:23 2019 +0800

    [Issue 3987][pulsar-broker]Handle config is null when create tenant (#4019)
    
    Fixes #3987
    
    ### Motivation
    
    Config will not appear null when create tenant use pulsar-admin create foo3, but use the following command, config is null.
    ```
    curl -X PUT http://localhost:8080/admin/v2/tenants/foo3
    ```
    
    ### Modifications
    
    Handle config is null when create tenant use curl.
    
    ### Verifying this change
    Test pass
    ```
    curl -X PUT http://localhost:8080/admin/v2/tenants/foo3
    curl -X GET http://localhost:8080/admin/v2/tenants/foo3
    {"adminRoles":[],"allowedClusters":[]}
    ```
---
 .../main/java/org/apache/pulsar/broker/admin/impl/TenantsBase.java | 3 +++
 .../src/test/java/org/apache/pulsar/broker/admin/AdminTest.java    | 7 +++++++
 2 files changed, 10 insertions(+)

diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/TenantsBase.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/TenantsBase.java
index cb3cd53..ee137f6 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/TenantsBase.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/TenantsBase.java
@@ -91,6 +91,9 @@ public class TenantsBase extends AdminResource {
 
         try {
             NamedEntity.checkName(tenant);
+            if (config == null) {
+                config = new TenantInfo();
+            }
             zkCreate(path(POLICIES, tenant), jsonMapper().writeValueAsBytes(config));
             log.info("[{}] Created tenant {}", clientAppId(), tenant);
         } catch (KeeperException.NodeExistsException e) {
diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminTest.java
index b4f46aa..1cdd954 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminTest.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminTest.java
@@ -499,8 +499,15 @@ public class AdminTest extends MockedPulsarServiceBaseTest {
             assertEquals(e.getResponse().getStatus(), Status.PRECONDITION_FAILED.getStatusCode());
         }
 
+        // Check tenantInfo is null
+        TenantInfo nullTenantInfo = new TenantInfo();
+        properties.createTenant("tenant-config-is-null", null);
+        assertEquals(properties.getTenantAdmin("tenant-config-is-null"), nullTenantInfo);
+
+
         namespaces.deleteNamespace("my-tenant", "use", "my-namespace", false);
         properties.deleteTenant("my-tenant");
+        properties.deleteTenant("tenant-config-is-null");
     }
 
     @Test