Andrey Kornev created IGNITE-1401:
-------------------------------------

             Summary: Introduce special local node discovery events
                 Key: IGNITE-1401
                 URL: https://issues.apache.org/jira/browse/IGNITE-1401
             Project: Ignite
          Issue Type: Improvement
          Components: general
            Reporter: Andrey Kornev
            Priority: Minor


Currently, Ignite doesn't record the EVT_NODE_JOINED event for the local node. 
In general, it might be useful to know when the local node has joined the 
cluster as well as when the local node has left the cluster (or has failed to 
join). 

I'd like to propose to introduce a couple of new Ignite events: 
EVT_LOCAL_NODE_JOINED and EVT_LOCAL_NODE_LEFT that will be generated by the 
Discovery Manager when it has successfully started and when it has disconnected 
correspondingly. Importantly, the events must be generated by the discovery 
worker thread (and only this thread!) so that the total ordering of all 
discovery events is preserved. Clearly, the EVT_LOCAL_NODE_LEFT event should be 
generated and delivered on the best-effort basis. 

EVT_LOCAL_NODE_FAILED may also be considered: it could be generated when the 
cluster coordinator has refused the node's attempt to join the cluster (for 
whatever reason).

The introduction of local node-specific discovery events rather than reusing 
the existing ones would help keep the existing code backward compatible, and in 
general makes sense.

It is possible to approximate this feature using just the existing API, but the 
code is complex, prone to race conditions and may require use of Ignite 
internal APIs.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to