Stephen Harper created NIFI-1686:
------------------------------------

             Summary: NiFi is unable to populate over 1/4 of AMQP properties 
from flow properties
                 Key: NIFI-1686
                 URL: https://issues.apache.org/jira/browse/NIFI-1686
             Project: Apache NiFi
          Issue Type: Bug
          Components: Core Framework
    Affects Versions: 0.5.1
            Reporter: Stephen Harper


When creating a flow (we used ListenHTTP, but this bug will affect all) that 
forwards on to a rabbit queue, org.apache.nifi.amqp.processors.PublishAMQP uses 
the method extractAmqpPropertiesFromFlowFile to populate the AMQP 
BasicProperties if the flow attributes match a certain format (i.e 
amqp$contentType=text/xml). 

The method in question uses reflection to find a matching method name from the 
AMQP.BasicProperties class, and tries to populate accordingly.

This works fine for all properties that take a String argument - however there 
are some that don't (specifically, headers takes a Map<String, Object>, 
deliveryMode and priority take Integer, and timestamp takes a Date), and it is 
impossible to populate these values because the invocation assumes a String is 
required, and fails on line 210.

Whatsmore, the comment underneath (line 215) states that "this should really 
never happen since it should be caught by the above IF" - however the author of 
the code mustn't have tested all cases because this error is consistently 
present when trying to forward flow attributes in over a quarter of the 
available amqp properties.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to