Vijaya Gorla created NIFI-14817:
-----------------------------------
Summary: GetElasticsearch throws error when it is triggered
without a flow file
Key: NIFI-14817
URL: https://issues.apache.org/jira/browse/NIFI-14817
Project: Apache NiFi
Issue Type: Bug
Affects Versions: 2.5.0
Reporter: Vijaya Gorla
When GetElasticsearch processor has an incoming connection, and the document id
is an expression, this results in expression evaluating to null when the
processor runs without a flow file. This can happen in a clustered NiFi setup
where there are more nodes in the cluster than the number of flow files in the
queue.
When there is a flow file in the queue, the processor's onTrigger is invoked on
all nodes (even the ones that don't have a flow file) resulting in some nodes
throwing error.
This can be handled by short-circuiting the onTrigger method like many stock
processors do
{code:java}
FlowFile input = null;
if (context.hasIncomingConnection()) {
input = session.get();
// If we have no FlowFile, and all incoming connections are
self-loops then we can continue on.
// However, if we have no FlowFile and we have connections coming
from other Processors, then
// we know that we should run only if we have a FlowFile.
if (input == null && context.hasNonLoopConnection()) {
return;
}
}
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)