Koji Kawamura created NIFI-5762:
-----------------------------------
Summary: Better data-specific Expression Language exception
handling
Key: NIFI-5762
URL: https://issues.apache.org/jira/browse/NIFI-5762
Project: Apache NiFi
Issue Type: Improvement
Components: Core Framework
Affects Versions: 1.0.0
Reporter: Koji Kawamura
Issues:
# EL syntax can be validated before starting a component, but data specific
exceptions, such as conversion error can not be caught and become runtime
exceptions. There will be nothing we can do here, but we should improve
error-handling best practice when that happens.
# For data-specific error, some EL functions throw IllegalAttributeException
while some others use AttributeExpressionLanguageException, we need to be more
consistent
# AttributeExpressionLanguageException and IllegalAttributeException both
reside in org.apache.nifi.attribute.expression.language.exception, but don't
have common parent Exception. Also, they don't have Javadoc for which one
should be used for what errors. Difficult to write a practical error-handling
at the caller side
# Above exceptions are RuntimeException and most Processors do not catch such
EL evaluation failures. Then causes issues like NIFI-5761.
Ideas:
# As a non-backward compatible improvement at NiFi 2.0 or later
# Introduce new AttributeExpressionLanguageDataException, which is a checked
exception so that caller should handle it properly. (IllegalAttributeException
does not sound correct as EL has more broad usage, not only with FlowFile
attributes)
# Migrate current AttributeExpressionLanguageException and
IllegalAttributeException usages to use
AttributeExpressionLanguageDataException properly.
# Add optional 'failure' relationship for each processor at framework-level, so
that NiFi can route FlowFiles cause AttributeExpressionLanguageDataException to
it.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)