[ 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)