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]

Reply via email to