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