wangyang0918 commented on pull request #13644:
URL: https://github.com/apache/flink/pull/13644#issuecomment-719267643
@tillrohrmann I really appreciate for your round after round reviews.
Unfortunately, we introduce a big refactor and the PR grows bigger and bigger.
For the easier review, I have reorg the commits.
* The ZooKeeper leader election/retrieval service refactor has been split
into three commits.
- [hotfix][test] Refactor TestingContender and TestingListener to
abstract some common methods
- [hotfix][coordination] Introduce new interfaces and data structure for
LeaderElection and LeaderRetrieval composition mechanism
- [hotfix][coordination] Wire ZooKeeper leader election/retrieval
services to new interface
* Kubernetes related changes has been split into three commits
- [FLINK-19542][k8s] Introduce data structures and common operations for
KubernetesConfigMap
- [FLINK-19542][k8s] Introduce data structures and interface for
KubernetesLeaderElector
- [FLINK-19542][k8s] Implement LeaderElectionService and
LeaderRetrievalService based on Kubernetes API
For the tests, I really like the idea you have suggested that test
components in layers. I have tried to do this as guideline.
* Test `DefaultLeaderElectionService` and `DefaultLeaderRetrievalService`
with testing driver and testing event handler
* ZooKeeper
* Migrate the current tests to directly use driver
* Kubernetes
* Test ConfigMap related interfaces, especially for our most important
interface `checkAndUpdateConfigMap`. It should work concurrently.
* Test `KubernetesLeaderElector`. It should support multiple contenders.
* Test `KubernetesLeaderElectionDriver` and
`KubernetesLeaderRetrievalDriver` directly.
* A simple integration test for leader election and retrieval on real K8s
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]