[
https://issues.apache.org/jira/browse/NIFI-2045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15342574#comment-15342574
]
ASF GitHub Bot commented on NIFI-2045:
--------------------------------------
Github user JPercivall commented on a diff in the pull request:
https://github.com/apache/nifi/pull/548#discussion_r67942458
--- Diff:
nifi-nar-bundles/nifi-mqtt-bundle/nifi-mqtt-processors/src/main/java/org/apache/nifi/processors/mqtt/ConsumeMQTT.java
---
@@ -265,7 +266,13 @@ public void onTrigger(final ProcessContext context,
final ProcessSession session
transferQueue(session);
}
- private void transferQueue(ProcessSession session){
+ // Protected visibility for unit testing
+ protected BlockingQueue<MQTTQueueMessage> getMqttQueue() {
+ return mqttQueue;
+ }
+
+ // Protected visibility for unit testing
+ protected void transferQueue(ProcessSession session){
--- End diff --
Instead of making these protected I would prefer to use reflection to
reference them. You can see Oleg and I's discussion on the issue here:
https://github.com/apache/nifi/pull/392#discussion_r63536461
> ConsumeMQTT can lose a message if session commit fails
> ------------------------------------------------------
>
> Key: NIFI-2045
> URL: https://issues.apache.org/jira/browse/NIFI-2045
> Project: Apache NiFi
> Issue Type: Bug
> Affects Versions: 1.0.0
> Reporter: Bryan Rosander
> Priority: Critical
>
> ConsumeMQTT removes the received message from the queue before committing the
> session. This means that if the session commit fails and the session rolls
> back, the message will be lost.
> https://github.com/apache/nifi/blob/f47af1ce8336c9305916f00738976f3505b01b0b/nifi-nar-bundles/nifi-mqtt-bundle/nifi-mqtt-processors/src/main/java/org/apache/nifi/processors/mqtt/ConsumeMQTT.java#L292
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)