You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@nifi.apache.org by Simon <si...@gmail.com> on 2021/03/01 00:28:02 UTC

Peers list empty for older Nifi instances

Hi

I'm in the process of transitioning an old version of Nifi (0.6.1) to the
latest version (have tried  1.12 and now 1.13).

When setting up a remote process group to another instance ( have tried to
a standalone 0.6.1 instance and a clustered 0.7.1 instance), the flow files
will just sit in the queue and not get sent.  No errors get reported in the
UI. Flow going the other way (0.7.1 => 1.13) works fine.

I turned on TRACE for all o.a.n.remote.client classes I could think of and
could see that SocketClientProtocol was successfully handshaking with the
appropriate peer and getting its Peer Status. Next in the logs,
PeerSelector would report no peers were retrieved from the group.

The s2s cmd line tool behaves the same way, except if I provide it with a
manually created Peer Persistence file with the right peer info in it.
Flows fine then.

I suspect it might be a logic issue with a boolean flag. In
SocketClientProtocol.getPeerStatuses the query other peers boolean is set
to false because were talking to a version 5 instance. But
PeerSelector.fetchRemotePeerStatus will filter out any false flagged
isQueryForpeers and the peers collection becomes empty.

Does the above make sense? Any advice on a quick fix? Can you specify a
peer persistence file like with s2s so it doesn't need to check the older
versions instances?

Cheers,
Simon