[ https://issues.apache.org/jira/browse/NIFI-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15213504#comment-15213504 ]
ASF GitHub Bot commented on NIFI-1686: -------------------------------------- Github user olegz commented on the pull request: https://github.com/apache/nifi/pull/305#issuecomment-202095259 @steveyh25 Thank you so much for your contribution. AMQP support is one of the most recent additions to NiFi and it's great to see its adoption is on the way. What's even more admirable is to see the members (such as yourself) of the community are eager to help making it even better by addressing some of the limitations these new components may have. That said, keep in mind that certain limitations (especially in new components) may be there intentionally (as in this case). In other words this initial version of AMQP was not supporting _non-String-value-type_ properties since we wanted to give more thoughts as to the conversion strategies of such values to/from String given that NiFi attributes only support String as a value type. I'll comment more on this inline at the relevant parts of the code, but wanted to make sure that it is clear that such behavior was intentional and not a bug. I'll update JIRA classification accordingly as well. Also, instead of saying "1/4" consider listing _timestamp, deliveryMode, headers, priority_ individually. The main point here is that one only cares about properties he/she needs and if the other 3/4 satisfy those needs then all is good while it may not be all good for others who need one of the unsupported properties. So the emphasis here should be on specific property rather then 1/4. Last but not least, consider the tone and basic ethics next time you interact in a public forum (JIRA/Github etc.). When writing things like "the author of the code mustn't have. . ." keep in mind that you can not possibly know _what_, _where_ and _how_ in relation to the "author's" _intent_, _thoughts_ and/or _motivation_ unless you had direct interaction with him/her which I'll assume you didn't. Without such interaction these words become pure speculation which personalizes the issue and therefore counter productive. See more here: http://www.apache.org/foundation/policies/conduct.html That said, please see the comments in line as I go through the review. Once again thank you for you contribution! > 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)