nifi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Payne <marka...@hotmail.com>
Subject Re: A bug in expression substitution
Date Wed, 28 Mar 2018 16:42:29 GMT
Sergei,

Thanks for reporting this! I have created a JIRA [1] to track this.

-Mark

[1] https://issues.apache.org/jira/browse/NIFI-5026


On Mar 28, 2018, at 7:36 AM, Sergei Zhirikov <sfzhi@yahoo.com.INVALID<mailto:sfzhi@yahoo.com.INVALID>>
wrote:

Hi,
It looks like I have stumbled upon a bug in substitution of evaluated expressions.
A test case:
String result = org.apache.nifi.attribute.expression.language.Query.prepare("${foo}$${foo}").evaluateExpressions(Collections.singletonMap("foo",
"bar"), null);
Expected result: "bar${foo}"Observed result: "barbar"
The issue exists in 1.5.0 and, as far as I can tell, in the master branch.The cause is quite
simple: Query.prepare(...) splits the input string into pieces to be evaluated and substituted
or to be copied literally, but it doesn't keep track of which is which.That couldn't possibly
work. If a piece to be copied literally happens to be equal to one of the pieces to be substituted,
the things go wrong, as the test case demonstrates.

Regards,Sergei.



Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message