[
https://issues.apache.org/jira/browse/NIFI-1636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15198206#comment-15198206
]
ASF GitHub Bot commented on NIFI-1636:
--------------------------------------
Github user joewitt commented on a diff in the pull request:
https://github.com/apache/nifi/pull/285#discussion_r56418107
--- Diff:
nifi-api/src/main/java/org/apache/nifi/processor/AbstractProcessor.java ---
@@ -27,7 +30,12 @@ public final void onTrigger(final ProcessContext
context, final ProcessSessionFa
onTrigger(context, session);
session.commit();
} catch (final Throwable t) {
- getLogger().error("{} failed to process due to {}; rolling
back session", new Object[]{this, t});
+ StringWriter stacktraceWriter = new StringWriter();
--- End diff --
This logic needs to be in the logger and that is its intent. You will note
that the throwable is being passed into it. The stack traces are getting
logged when debug level is engaged for a given logger. This allows the user to
control whether they are generated or not. That said...it is clearly
counterintuitive and we need to improve.
> Print entire stacktrace when unexpected exception occurs during onTrigger
> -------------------------------------------------------------------------
>
> Key: NIFI-1636
> URL: https://issues.apache.org/jira/browse/NIFI-1636
> Project: Apache NiFi
> Issue Type: Improvement
> Reporter: Ricky Saltzer
> Assignee: Ricky Saltzer
>
> As of now the try/catch clause in the {{AbstractProcessor}} class doesn't
> print the entire stacktrace when a processor throws an unexpected exception.
> Printing the entire stacktrace comes especially in handy when users are
> creating custom processors for internal use.
> The difference in information can be seen below:
> *Before*
> {code}
> java.lang.NumberFormatException: For input string: "five"
> {code}
> *After*
> {code}
> java.lang.NumberFormatException: For input string: "five"
> at
> java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
> at java.lang.Integer.parseInt(Integer.java:580)
> at java.lang.Integer.parseInt(Integer.java:615)
> at TestException.main(TestException.java:5)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)