Vijaya Gorla created NIFI-16330:
-----------------------------------
Summary: SearchElasticSearch processor loses state when master
node changes
Key: NIFI-16330
URL: https://issues.apache.org/jira/browse/NIFI-16330
Project: Apache NiFi
Issue Type: Bug
Affects Versions: 2.5.0
Reporter: Vijaya Gorla
Assignee: Rahul Sharma Ksolves NiFi Experties
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
when there are more nodes in the cluster than the number of flow files in the
queue.
For example, 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 an error.
This can be handled by short-circuiting the onTrigger method like many core
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)