[
https://issues.apache.org/jira/browse/NIFI-2774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15536979#comment-15536979
]
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_r81411506
--- Diff:
nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/ConsumeJMS.java
---
@@ -116,18 +154,26 @@ protected JMSConsumer
finishBuildingTargetResource(JmsTemplate jmsTemplate) {
}
/**
+ *
+ */
+ @Override
+ protected List<PropertyDescriptor> getSupportedPropertyDescriptors() {
+ List<PropertyDescriptor> pd = new
ArrayList<>(super.getSupportedPropertyDescriptors());
+ pd.add(ACKNOWLEDGEMENT_MODE);
+ return pd;
--- End diff --
Not an incredibly big deal, but getSupportedPropertyDescriptors() is called
very often (most often in validation during a UI Refresh) which causes lots of
ArrayLists to be created. I prefer the way DistributeLoad handles this, by
creating one ArrayList and reusing it, while also using an AtomicBoolean to
know when it should be recreated.
> 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)