lokiore opened a new pull request, #2347: URL: https://github.com/apache/phoenix/pull/2347
**Summary of changes** Event Reactor for Failover, this reactor observes state transitions and makes state updates accordingly. a. Add peer event reactor (for reaction to peer state transitions) b. Add local event reactor (for reaction to local state transitions) New flow to sync between ZK and HA System Table a. ZK is the source of truth for config and state both. But only local state is maintained in ZK. b. Updating System table will be best effort basis c. Regular job with jitter to sync from ZK to System Table in case of missed update. d. Introduced adminVersion to handle any admin updates to config. Removed Degraded for reader/writer in favor of Degraded Standby In update calls check if the state is already updated, double checking now once with local cache and once with direct ZK. This is needed as all the HAGroupStoreManagers will try to update the state on same trigger. Added fromState to event subscription callback. Note that fromState can be null when ZNode is initialized. Not blocking any transitions to HA_GROUP table in IndexRegionObserver even if we are in ACTIVE_TO_STANDBY state. Testing Event Reactor a. E2E Failover Happy Path b. E2E Failover with Abort c. Peer Reaction when ACTIVE moves from Sync to Store&Forward mode and back New flow to sync between ZK and HA System Table a. Existing tests passing b. Added test for regular job with jitter to sync from ZK to System Table in case of missed update. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
