sijie closed pull request #1843: If left unspecified, function tenants and 
namespaces should have the same behavior as topics
URL: https://github.com/apache/incubator-pulsar/pull/1843
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

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 3d0bb2b6e8..de4ab40ca8 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 void testCreateWithoutTenant() throws Exception {
         });
 
         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 void testCreateWithoutNamespace() throws Exception {
         });
 
         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 21de29b2d3..d565568602 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 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 @@ private void inferMissingFunctionName(FunctionConfig 
functionConfig) {
         }
 
         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 fa99091efb..822d600851 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 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 @@ void processArguments() throws Exception {
 
             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 6cdc37c7a4..d16fb5b5d9 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 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 @@ void processArguments() throws Exception {
 
             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);


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to