Wenzhe Zhou has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/20372


Change subject: WIP IMPALA-12156: Support High Availability for Statestore
......................................................................

WIP IMPALA-12156: Support High Availability for Statestore

This patch adds support for Statestore High Availability
- Define new service for Statestore HA.
- Negotiate role for HA with peer statestore instance on startup.
- Create HA monitor thread:
  active statestored send heartbeat to standby statestored.
  standby statestored monitor peer's connection states
- Standby statestored send heartbeat to subscribers with request
  for connection state between active statestore and subscribers.
  Standby statestored save the connection state as failure detecer.
- When standby statestored loss connection with active statestore,
  check the connection states for active statestore, and take over
  active role if majority of subscribers lose connections with active
  statestore.
- New active statestored send RPC notification to all subscribers
  for new active statestored and active catalogd elected by new
  active staetstored.
- New active statestored start to send heartbeat to its peer when it
  receive handshake from its peer.
- Subscriber register to two statestoreds.
- Subscriber report connection state for in-active statestore.
- Subscriber switch to new active statstore, refuse topic update
  from standby statestored.

Testings:
  TODO

Change-Id: Ibd2c814bbad5c04c1d50c2edaa5b910c82a6fd87
---
M be/generated-sources/gen-cpp/CMakeLists.txt
M be/src/catalog/catalog-server.cc
M be/src/common/global-flags.cc
M be/src/runtime/exec-env.cc
M be/src/runtime/exec-env.h
M be/src/scheduling/admissiond-env.cc
M be/src/statestore/statestore-service-client-wrapper.h
M be/src/statestore/statestore-subscriber-catalog.cc
M be/src/statestore/statestore-subscriber-catalog.h
M be/src/statestore/statestore-subscriber-client-wrapper.h
M be/src/statestore/statestore-subscriber.cc
M be/src/statestore/statestore-subscriber.h
M be/src/statestore/statestore-test.cc
M be/src/statestore/statestore.cc
M be/src/statestore/statestore.h
M be/src/statestore/statestored-main.cc
M bin/start-impala-cluster.py
M common/thrift/StatestoreService.thrift
M tests/common/impala_cluster.py
M tests/common/impala_service.py
20 files changed, 1,178 insertions(+), 85 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/72/20372/1
--
To view, visit http://gerrit.cloudera.org:8080/20372
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibd2c814bbad5c04c1d50c2edaa5b910c82a6fd87
Gerrit-Change-Number: 20372
Gerrit-PatchSet: 1
Gerrit-Owner: Wenzhe Zhou <[email protected]>

Reply via email to