I’m in development using corda M13 and running nodes on my local Mac using the runnodes script. If I stop one of the nodes (e.g. NodeB) by typing ‘bye’ in the console, the network map never seems to notice. Getting the list of nodes using networkMapUpdates in the client RPC still shows NodeB in the list. Should this work or not?
It’s supposed to be like that. The network map service is not a presence service in the sense that an instant messaging server would be. Entries in the network map never expire in M13. We are currently doing some work to redesign the network map service to change how it works, to make it a static signed file available over HTTP CDNs for robustness and scalability. As part of that we’re introducing the concept of an event horizon … the amount of time you can be offline until nodes are allowed to forget about you. It’ll probably be quite long, like 30 days.
The idea is that Corda networks can tolerate temporary outages of nodes. You can still start flows with them and the flows will wait until the node comes back.
Thanks Mike, makes sense. I was just confused by the NetworkMapCache.MapChange.Removed class.