You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Tim Chermak (Jira)" <ji...@apache.org> on 2019/09/26 17:41:00 UTC

[jira] [Created] (NIFI-6721) jms_expiration attribute problem

Tim Chermak created NIFI-6721:
---------------------------------

             Summary: jms_expiration attribute problem
                 Key: NIFI-6721
                 URL: https://issues.apache.org/jira/browse/NIFI-6721
             Project: Apache NiFi
          Issue Type: Bug
          Components: Extensions
    Affects Versions: 1.8.0
         Environment: Linux CENTOS 7
            Reporter: Tim Chermak


The documentation for PublishJMS indicates the JMSExpiration is set with the attribute jms_expiration. However, this value is really the time-to-live (ttl) in milliseconds. The JMSExpiration is calculated by the provider library as "expiration = timestamp + ttl"

So, this NiFi flowfile attribute should really be named jms_ttl. The current setup works correctly when NiFi creates and publishes a message, but has problems when you try to republish a JMS message.

GetFile -> UpdateAttibute -> PublishJMS creates a valid JMSExpiration in the message, however, when a JMS has the expiration set, ConsumeJMS -> PublishJMS shows an error in the nifi.--app.log file: "o.apache.nifi.jms.processors.PublishJMS PublishJMS[id=016b1005-xxxxxx...] Incompatible value for attribute jms_expiration [1566428032803] is not a number. Ignoring this attribute."

Looks like ConsumeJMS set the flowfile attribute to the expiration value rather than the time-ti-live value. Time-to-live should be jms_ttl = expiration - current_time.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)