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)

Reply via email to