A potential solution here would be for the client listener, if it receives a
"Connection reset by peer" IOException, to try to fail over all listeners
connected to that node.
The first tricky aspect is how to make sure that if you have N connected
listeners, only one of them fails over the connected listeners, and hence avoid
all connected listeners trying to failover all of them. A simple solution here
would be for each listener to try to failover itself.
Even more tricky is how to deal with the situation when failover fails. E.g.
imagine you have only one server and connectivity drops. The connect is reset
and the failover fails since there's no other servers. What does the listener
do about it? One thing it could do is failover itself periodically until it
works, but this is not ideal. Another option would be to avoid any failover
until the client sends an operation and gets a connection. The latter option
has a bigger chance of missing events but we have the state receiving option
for those who must receive state.
Any other ideas?
Infinispan, Red Hat
infinispan-dev mailing list