I want to trigger item added listener trigger across all nodes when I add items, make an async call in the listener, and after the listener is triggered I want to clear the ISet.
According to the EntryProcessor logic, each query is executed as an entry processor and I'm presuming it coherently triggers the item added listener across all nodes. My initial tests also point to the same behavior. But since I'm dealing with production data, I want to be 100% sure that item added listener gets triggered in all the nodes, even though I'm clearing the ISet in the next moment in one of the nodes.
Kindly point me to documentation if you know any. Or please share your experiences if you faced similar situation.
For the requirement "I want to be 100% sure that item added listener gets triggered in all the nodes", I'd suggest ReliableTopic and also make sure your topic listener implementations use ReliableMessageListener
interface, as you can see it has additional interfaces for storing (storeSequence();) and getting sequence number (retrieveInitialSequence();), for example you can store this info locally on client. So each client will listen to the events based on the sequence id, which means if it disconnects for some reason, it can resume from the latest event sequence id after it restores.
http://docs.hazelcast.org/docs/latest-development/manual/html/Distributed_Data_Structures/Reliable_Topic.html