turcsanyip commented on PR #8013:
URL: https://github.com/apache/nifi/pull/8013#issuecomment-1894716050

   @exceptionfactory Thanks for the clarification on temporarily disconnected 
nodes due cluster communication problems vs manual disconnection! Good to know 
that a temporarily disconnected node behaves differently.
   
   Regarding the manual disconnection, I found a relatively easy way to check 
it:
   - add `isClustered` entry in the `LOCAL` scope, set it only when it is unset 
(first start-up or after manual state clean-up)
   - check its value in the `CLUSTER` scope (from where the checkpoints are 
retrieved)
   - if the entry is not found, it is fine as we are really accessing the 
cluster scope, so the node is currently connected to the cluster
   - if the entry is found and it is `true`, then it is an originally clustered 
node but is currently accessing the local state via the cluster scope => the 
node is disconnected and it must not write the state
   - if the entry is found and it is `false`, then it is a standalone node => OK
   
   I added this change along with 2 other commits improving tests and error 
handling.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to