I agree, "masterless" is ideal but it is against KISS somehow....
About error handling, does ZK-22 means disconnection will be eliminated from
API and will be solely
handled by ZK implementation?
I am not sure it is such a good idea though. Application layer need to be
notified that communication with ZK has been broken - things may out of sync
- and enter the safe mode accordingly.I would image in some cases current
"fail fast" behavior might be desirable.
Another layer on top of ZK API (with overridable behavior, like the
ProtocolSupport stuff) seems strike a balance here...