Is the actualSettlementDate attribute's value in the "MM/dd/yyyy" format, with no other text in front of the date? For instance, "10/18/2018 12:30:00" is parsable by the "MM/dd/yyyy" format, but "12:30:00 10/18/2018" is not.
On Thu, Oct 18, 2018 at 12:02 PM Juan Pablo Gardella < [email protected]> wrote: > At *search value*:(?s)(^.*$) > > At *Replacement value*: > > *<?xml version="1.0" > encoding="UTF-8"?><SettleDate>${actualSettlementDate:toDate('MM/dd/yyyy'):format("yyyy-MM-dd'T'00:00:00.0000000")}</SettleDate>* > > The actualSettlementDate is a flowfile attribute. The problem is the > replacement value is evaluated inside the processor and the *toDate *method > fails. > > Hope it's clear now. > > > On Thu, 18 Oct 2018 at 12:51 Shawn Weeks <[email protected]> > wrote: > >> I’m still trying to understand your actual issue, can your provide a >> screenshot of the ReplaceText config like the attached, I need to see >> exactly where you’re putting the expression. A template would also be >> really helpful. >> >> >> >> Thanks >> >> Shawn Weeks >> >> >> >> *From:* Juan Pablo Gardella <[email protected]> >> >> *Sent:* Thursday, October 18, 2018 10:45 AM >> >> >> *To:* [email protected] >> *Subject:* Re: [EXT] ReplaceText cannot consume messages if Regex does >> not match >> >> >> >> At ReplaceText >> <https://raw.githubusercontent.com/apache/nifi/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ReplaceText.java>processor >> we have: >> >> >> >> [image: image.png] >> >> As you can see, only if *StackOverflowError *is raised during the >> evaluation, the flowfile is send to failure relationship. I would like to >> update the code to use Exception or NifiExpressionFailedException (if it >> exits). >> >> >> >> Juan >> >> >> >> On Thu, 18 Oct 2018 at 12:33 Shawn Weeks <[email protected]> >> wrote: >> >> What processor are you defining your expression in? I also may be >> misunderstanding the problem because I don’t see any regular expressions >> anywhere. Can you create a sample workflow showing your issue so I can take >> a look at it. >> >> >> >> Thanks >> >> Shawn Weeks >> >> >> >> *From:* Juan Pablo Gardella <[email protected]> >> *Sent:* Thursday, October 18, 2018 10:27 AM >> *To:* [email protected] >> *Subject:* Re: [EXT] ReplaceText cannot consume messages if Regex does >> not match >> >> >> >> No, it's not a valid date. I would like if it an error happens, I would >> like to throw the flowfile to failure and continue. >> >> >> >> On Thu, 18 Oct 2018 at 12:19 Shawn Weeks <[email protected]> >> wrote: >> >> Any expression language syntax has to be correct or the processor won’t >> run. I’m not sure there is any way to work around that except to explicitly >> check that the value you are trying to evaluate is valid. Is the attribute >> “tradeDate” coming from the contents of a flow file or is it defined >> somewhere else. Can you ensure it is a valid date in that format before >> hand? >> >> >> >> Thanks >> >> Shawn Weeks >> >> >> >> *From:* Juan Pablo Gardella <[email protected]> >> >> *Sent:* Thursday, October 18, 2018 10:13 AM >> >> >> *To:* [email protected] >> *Subject:* Re: [EXT] ReplaceText cannot consume messages if Regex does >> not match >> >> >> >> Hi, the error is not in the processor itself. It's in the expression used >> against flowfile attributes. For example inside the text, I have: >> >> >> >> >> <EventDate>${tradeDate:toDate('MM/dd/yyyy'):format("yyyy-MM-dd'T'00:00:00.0000000")}</EventDate> >> >> And that is the root issue. If it's unable to convert it, the flow cannot >> be consumed. How can I evaluate attributes in a non-blocker way? >> >> >> >> Juan >> >> >> >> On Thu, 18 Oct 2018 at 12:07 Shawn Weeks <[email protected]> >> wrote: >> >> Where is your expression? That’s not the entire configuration for that >> processor. >> >> >> >> Thanks >> >> Shawn Weeks >> >> >> >> *From:* Juan Pablo Gardella <[email protected]> >> *Sent:* Thursday, October 18, 2018 10:03 AM >> *To:* [email protected] >> *Subject:* Re: [EXT] ReplaceText cannot consume messages if Regex does >> not match >> >> >> >> Configuration: >> >> Replacement Strategy: Always replace >> >> EvaluationMode: Entire text >> >> >> >> >> >> On Thu, 18 Oct 2018 at 12:01 Juan Pablo Gardella < >> [email protected]> wrote: >> >> Hortonworks nifi based on 1.5.0: >> >> >> >> Configuration: >> >> Thanks >> >> >> >> On Thu, 18 Oct 2018 at 11:56 Peter Wicks (pwicks) <[email protected]> >> wrote: >> >> Hi Juan, >> >> >> >> What version of NiFi are you running on? >> >> What mode are you running ReplaceText in, all text or line by line? >> >> Other settings that might be important? What’s your RegEx look like (if >> your able to share). >> >> >> >> --Peter >> >> >> >> >> >> *From:* Juan Pablo Gardella [mailto:[email protected]] >> *Sent:* Thursday, October 18, 2018 8:53 AM >> *To:* [email protected] >> *Subject:* [EXT] ReplaceText cannot consume messages if Regex does not >> match >> >> >> >> Hi all, >> >> >> >> I'm seeing that ReplaceText is not able to consume messages that does not >> match regex. It keeps all the messages in the input queue instead of >> sending them to failure relationship. Is this the intended behavior or I >> have to file a ticket in order to be fixed? In that way, the processor is >> not able to process bad messages and converts in the bottleneck of a flow >> >> >> >> Juan >> >>
