[
https://issues.apache.org/jira/browse/NIFI-2774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15536978#comment-15536978
]
ASF GitHub Bot commented on NIFI-2774:
--------------------------------------
Github user mosermw commented on a diff in the pull request:
https://github.com/apache/nifi/pull/1036#discussion_r81410549
--- Diff:
nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/ConsumeJMS.java
---
@@ -54,8 +61,31 @@
@SeeAlso(value = { PublishJMS.class, JMSConnectionFactoryProvider.class })
public class ConsumeJMS extends AbstractJMSProcessor<JMSConsumer> {
+ static final AllowableValue AUTO_ACK = new
AllowableValue(String.valueOf(Session.AUTO_ACKNOWLEDGE),
+ "AUTO_ACKNOWLEDGE",
+ "Automatically acknowledges a client's receipt of a message,
regardless if NiFi session has been commited. "
+ + "Can result in data loss in the event where NiFi
abruptly stopped before session was commited.");
+
+ static final AllowableValue CLIENT_ACK = new
AllowableValue(String.valueOf(Session.CLIENT_ACKNOWLEDGE),
+ "CLIENT_ACKNOWLEDGE",
+ "(DEFAULT) Manually acknowledges a client's receipt of a
message after NiFi Session was commited, thus ensuring no data loss");
+
+ static final AllowableValue DUPS_OK = new
AllowableValue(String.valueOf(Session.DUPS_OK_ACKNOWLEDGE),
+ "DUPS_OK_ACKNOWLEDGE",
+ "This acknowledgment mode instructs the session to lazily
acknowledge the delivery of messages. May result uin both data "
--- End diff --
Spelling "uin"
> ConsumeJMS processor losses messages on NiFi restart
> ----------------------------------------------------
>
> Key: NIFI-2774
> URL: https://issues.apache.org/jira/browse/NIFI-2774
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Affects Versions: 1.0.0, 0.7.0
> Reporter: Christopher McDermott
> Assignee: Oleg Zhurakousky
> Priority: Critical
> Fix For: 1.1.0, 0.8.0
>
> Attachments: 2774.patch
>
>
> ConsumeJMS processor uses auto-acknowledge mode. Unlike the deprecated
> GetJMSQueue processor it does not provide a way to specify a different ACK
> mode (i.e. client-acknowledge.) Using auto-acknowledge, acknowledges message
> receipt from JMS *before* the messages are actually added to the flow. This
> leads to data-loss on NiFi stop (or crash.)
> I believe the fix for this is to allow the user to specify the ACK mode in
> the processor configuration like is allowed by the GetJMSQueue processor.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)