[
https://issues.apache.org/jira/browse/NIFI-5274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16505154#comment-16505154
]
ASF GitHub Bot commented on NIFI-5274:
--------------------------------------
Github user joewitt commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2767#discussion_r193866550
--- Diff:
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ReplaceText.java
---
@@ -287,14 +287,24 @@ public void onTrigger(final ProcessContext context,
final ProcessSession session
if (evaluateMode.equalsIgnoreCase(ENTIRE_TEXT)) {
if (flowFile.getSize() > maxBufferSize &&
replacementStrategyExecutor.isAllDataBufferedForEntireText()) {
- session.transfer(flowFile, REL_FAILURE);
+ session.transfer(session.penalize(flowFile), REL_FAILURE);
--- End diff --
@mosermw are you penalizing it here in case someone is looping failure? If
they loop failure relationship then the problem will happen over and over
anyway and perhaps better we just doc that they should not do so. Were you
thinking a downstream consumer of this would prefer it to be penalized? Just
trying to understand the benefit of penalizing here.
> ReplaceText can product StackOverflowError which causes admin yield
> -------------------------------------------------------------------
>
> Key: NIFI-5274
> URL: https://issues.apache.org/jira/browse/NIFI-5274
> Project: Apache NiFi
> Issue Type: Bug
> Components: Extensions
> Affects Versions: 1.6.0
> Reporter: Michael Moser
> Assignee: Michael Moser
> Priority: Major
>
> Regex Replace mode can easily produce StackOverflowError. Certain regular
> expressions are implemented using recursion, which when used on large input
> text can cause StackOverflowError. This causes the ReplaceText processor to
> rollback and admin yield, which causes the input flowfile to get stuck in the
> input queue.
> We should be able to catch this condition and route the flowfile to failure.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)