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/incubator-pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 333a75c If left unspecified, function tenants and namespaces should
have the same behavior as topics (#1843)
333a75c is described below
commit 333a75cf33b369b0d882a620f82f9ad02efb0f47
Author: Sanjeev Kulkarni <[email protected]>
AuthorDate: Fri May 25 11:17:54 2018 -0700
If left unspecified, function tenants and namespaces should have the same
behavior as topics (#1843)
* If left unspecified, function tenants and namespaces should have the same
behavior as topics
* Address comments
* Fixed unittest
* Fix Unittest
---
.../org/apache/pulsar/admin/cli/CmdFunctionsTest.java | 6 +++---
.../java/org/apache/pulsar/admin/cli/CmdFunctions.java | 16 ++++------------
.../main/java/org/apache/pulsar/admin/cli/CmdSinks.java | 7 +++++++
.../java/org/apache/pulsar/admin/cli/CmdSources.java | 7 +++++++
4 files changed, 21 insertions(+), 15 deletions(-)
diff --git
a/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java
b/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java
index 3d0bb2b..de4ab40 100644
---
a/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java
+++
b/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java
@@ -209,7 +209,7 @@ public class CmdFunctionsTest {
});
CreateFunction creater = cmd.getCreater();
- assertEquals("tenant", creater.getFunctionConfig().getTenant());
+ assertEquals("public", creater.getFunctionConfig().getTenant());
verify(functions, times(1)).createFunction(any(FunctionDetails.class),
anyString());
}
@@ -228,8 +228,8 @@ public class CmdFunctionsTest {
});
CreateFunction creater = cmd.getCreater();
- assertEquals("tenant", creater.getFunctionConfig().getTenant());
- assertEquals("namespace", creater.getFunctionConfig().getNamespace());
+ assertEquals("public", creater.getFunctionConfig().getTenant());
+ assertEquals("default", creater.getFunctionConfig().getNamespace());
verify(functions, times(1)).createFunction(any(FunctionDetails.class),
anyString());
}
diff --git
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
index 21de29b..d565568 100644
---
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
+++
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
@@ -22,6 +22,8 @@ import static
com.google.common.base.Preconditions.checkNotNull;
import static java.nio.charset.StandardCharsets.UTF_8;
import static java.util.Objects.isNull;
import static org.apache.bookkeeper.common.concurrent.FutureUtils.result;
+import static org.apache.pulsar.common.naming.TopicName.DEFAULT_NAMESPACE;
+import static org.apache.pulsar.common.naming.TopicName.PUBLIC_TENANT;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
@@ -606,21 +608,11 @@ public class CmdFunctions extends CmdBase {
}
private void inferMissingTenant(FunctionConfig functionConfig) {
- try {
- String inputTopic = getUniqueInput(functionConfig);
-
functionConfig.setTenant(TopicName.get(inputTopic).getTenant());
- } catch (IllegalArgumentException ex) {
- throw new RuntimeException("You need to specify a tenant for
the function", ex);
- }
+ functionConfig.setTenant(PUBLIC_TENANT);
}
private void inferMissingNamespace(FunctionConfig functionConfig) {
- try {
- String inputTopic = getUniqueInput(functionConfig);
-
functionConfig.setNamespace(TopicName.get(inputTopic).getNamespacePortion());
- } catch (IllegalArgumentException ex) {
- throw new RuntimeException("You need to specify a namespace
for the function");
- }
+ functionConfig.setNamespace(DEFAULT_NAMESPACE);
}
private void inferMissingOutput(FunctionConfig functionConfig) {
diff --git
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
index fa99091..822d600 100644
---
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
+++
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
@@ -56,6 +56,9 @@ import org.apache.pulsar.io.core.Sink;
import net.jodah.typetools.TypeResolver;
+import static org.apache.pulsar.common.naming.TopicName.DEFAULT_NAMESPACE;
+import static org.apache.pulsar.common.naming.TopicName.PUBLIC_TENANT;
+
@Getter
@Parameters(commandDescription = "Interface for managing Pulsar Sinks (Egress
data from Pulsar)")
public class CmdSinks extends CmdBase {
@@ -182,9 +185,13 @@ public class CmdSinks extends CmdBase {
if (null != tenant) {
sinkConfig.setTenant(tenant);
+ } else if (sinkConfig.getTenant() == null) {
+ sinkConfig.setTenant(PUBLIC_TENANT);
}
if (null != namespace) {
sinkConfig.setNamespace(namespace);
+ } else if (sinkConfig.getNamespace() == null) {
+ sinkConfig.setNamespace(DEFAULT_NAMESPACE);
}
if (null != name) {
sinkConfig.setName(name);
diff --git
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java
index 6cdc37c..d16fb5b 100644
---
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java
+++
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java
@@ -50,6 +50,9 @@ import org.apache.pulsar.io.core.Source;
import net.jodah.typetools.TypeResolver;
+import static org.apache.pulsar.common.naming.TopicName.DEFAULT_NAMESPACE;
+import static org.apache.pulsar.common.naming.TopicName.PUBLIC_TENANT;
+
@Getter
@Parameters(commandDescription = "Interface for managing Pulsar Source
(Ingress data to Pulsar)")
public class CmdSources extends CmdBase {
@@ -175,9 +178,13 @@ public class CmdSources extends CmdBase {
if (null != tenant) {
sourceConfig.setTenant(tenant);
+ } else if (sourceConfig.getTenant() == null) {
+ sourceConfig.setTenant(PUBLIC_TENANT);
}
if (null != namespace) {
sourceConfig.setNamespace(namespace);
+ } else if (sourceConfig.getNamespace() == null) {
+ sourceConfig.setNamespace(DEFAULT_NAMESPACE);
}
if (null != name) {
sourceConfig.setName(name);
--
To stop receiving notification emails like this one, please contact
[email protected].