Client fail to connect with a un-readonly bookie.
bookie client may could not connect a bookie node which transition state from readonly to writability
Describe when we transition a bookie state from readonly to writability, bookie will process like this, (1) doRegisterBookie(false) (2)unregisterBookie(), and client's ZkRegistrationClient will process related zk event, and seems ZkRegistrationClient received last event is "/ledgers/available/readonly/{bookieId}" deleted event, and then BookieServiceInfoCacheInvalidationWatcher will remove bookServiceInfo from bookieServiceInfoCache, finally PerChannelBookieClient will throw BookieIdNotResolvedException while attempt connect bookie
Expected behavior Bookie client can aware bookie node online/offline normally.
Additional context
- Bookkeeper version : 4.15.3
- Use ZKRegistrationManager implemention
Could you show excerpts from the codes you mentioned, including the connection between the client and the bookie?