You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by ni...@apache.org on 2022/05/31 14:14:05 UTC
[pulsar] branch master updated: [fix][admin] Fix check on create function class name (#15700)
This is an automated email from the ASF dual-hosted git repository.
nicoloboschi 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 8126643ef6d [fix][admin] Fix check on create function class name (#15700)
8126643ef6d is described below
commit 8126643ef6dbd000977f58016d1da05ee411ba70
Author: Christophe Bornet <cb...@hotmail.com>
AuthorDate: Tue May 31 16:13:58 2022 +0200
[fix][admin] Fix check on create function class name (#15700)
The check was done for PYTHON or JAVA runtime but the runtime is not inferred in the admin CLI.
The fix is to do the check if a jar or py is provided instead
---
.../java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java | 14 ++++++++++++++
.../java/org/apache/pulsar/admin/cli/CmdFunctions.java | 3 +--
2 files changed, 15 insertions(+), 2 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 7ee9313838f..efb5ae8ad64 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
@@ -447,6 +447,20 @@ public class CmdFunctionsTest {
verify(functions, times(1)).createFunction(any(FunctionConfig.class), anyString());
}
+ @Test
+ public void testCreateFunctionWithoutClassName() throws Exception {
+ cmd.run(new String[] {
+ "create",
+ "--name", FN_NAME,
+ "--inputs", INPUT_TOPIC_NAME,
+ "--output", OUTPUT_TOPIC_NAME,
+ "--jar", PACKAGE_URL,
+ "--tenant", "sample",
+ "--namespace", "ns1",
+ });
+ verify(functions, times(0)).createFunctionWithUrl(any(FunctionConfig.class), anyString());
+ }
+
@Test
public void testCreateFunctionWithoutBasicArguments() throws Exception {
cmd.run(new String[] {
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 4aca2bfa8b7..a9c83a2cd09 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
@@ -643,8 +643,7 @@ public class CmdFunctions extends CmdBase {
protected void validateFunctionConfigs(FunctionConfig functionConfig) {
// go doesn't need className
- if (functionConfig.getRuntime() == FunctionConfig.Runtime.PYTHON
- || functionConfig.getRuntime() == FunctionConfig.Runtime.JAVA){
+ if (functionConfig.getPy() != null || functionConfig.getJar() != null) {
if (StringUtils.isEmpty(functionConfig.getClassName())) {
throw new ParameterException("No Function Classname specified");
}