This is an automated email from the ASF dual-hosted git repository. rdhabalia 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 5fb58d2 Fix: auto-ack flag always set true (#2496) 5fb58d2 is described below commit 5fb58d23eb9bf9298b368fac255f428da8209d59 Author: Rajan Dhabalia <rdhaba...@apache.org> AuthorDate: Fri Aug 31 10:32:44 2018 -0700 Fix: auto-ack flag always set true (#2496) make ato-ack default true --- .../java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java | 2 ++ .../main/java/org/apache/pulsar/admin/cli/CmdFunctions.java | 12 ++++-------- 2 files changed, 6 insertions(+), 8 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 399e95a3..7eb1dff 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 @@ -200,6 +200,7 @@ public class CmdFunctionsTest { "--inputs", inputTopicName, "--output", outputTopicName, "--jar", "SomeJar.jar", + "--auto-ack", "false", "--tenant", "sample", "--namespace", "ns1", "--className", DummyFunction.class.getName(), @@ -209,6 +210,7 @@ public class CmdFunctionsTest { assertEquals(fnName, creater.getFunctionName()); assertEquals(inputTopicName, creater.getInputs()); assertEquals(outputTopicName, creater.getOutput()); + assertEquals(false, creater.isAutoAck()); 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 1ba7751..3996349 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 @@ -313,8 +313,8 @@ public class CmdFunctions extends CmdBase { // for backwards compatibility purposes @Parameter(names = "--autoAck", description = "Whether or not the framework will automatically acknowleges messages", hidden = true) protected Boolean DEPRECATED_autoAck = null; - @Parameter(names = "--auto-ack", description = "Whether or not the framework will automatically acknowleges messages") - protected Boolean autoAck ; + @Parameter(names = "--auto-ack", description = "Whether or not the framework will automatically acknowleges messages", arity = 1) + protected boolean autoAck = true; // for backwards compatibility purposes @Parameter(names = "--timeoutMs", description = "The message timeout in milliseconds", hidden = true) protected Long DEPRECATED_timeoutMs; @@ -458,11 +458,7 @@ public class CmdFunctions extends CmdBase { functionConfig.setWindowConfig(windowConfig); - if (null != autoAck) { - functionConfig.setAutoAck(autoAck); - } else { - functionConfig.setAutoAck(true); - } + functionConfig.setAutoAck(autoAck); if (null != jarFile) { functionConfig.setJar(jarFile); @@ -577,7 +573,7 @@ public class CmdFunctions extends CmdBase { WindowUtils.inferDefaultConfigs(windowConfig); // set auto ack to false since windowing framework is responsible // for acking and not the function framework - if (autoAck != null && autoAck == true) { + if (autoAck) { throw new ParameterException("Cannot enable auto ack when using windowing functionality"); } functionConfig.setAutoAck(false);