Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build CuratorFrameworkFactory supports an option to skip Ensemble tracking. #2072

Closed
smallersoup opened this issue Apr 29, 2022 · 4 comments · Fixed by #2458
Closed

Build CuratorFrameworkFactory supports an option to skip Ensemble tracking. #2072

smallersoup opened this issue Apr 29, 2022 · 4 comments · Fixed by #2458
Assignees

Comments

@smallersoup
Copy link

smallersoup commented Apr 29, 2022

Feature Request

Is your feature request related to a problem?

Yes,in my scene,the curator connects to the zookeeper cluster in Kubernetes, the Pod may restart at any time, and the pod IP changes, so to close the ensembleTracker, then curator connects the zookeeper service cluster IP forever.

Describe the feature you would like.

Build CuratorFrameworkFactory lacks an option to skip Ensemble tracking.
CuratorFrameworkFactory.Builder include a new option that allows to skip ensemble tracking. This can be useful in certain scenarios in which CuratorFramework is accessing to zookeeper clusters via load balancer or Virtual IPs. In this case ensemble tracking is avoiding CuratorFramework to support this kind of connectivity.

Proposal suggest including in ZookeeperConfiguration new field:
● private boolean ensembleTracker = true that allows to enable / disable ensembleTracker,then default value will return true for backwards compatibility.
● init method in ZookeeperRegistryCenter build CuratorFrameworkFactory set ensembleTracker(zkConfig.isEnsembleTracker()).

This Proposal suggest can refer to: https://issues.apache.org/jira/browse/CURATOR-568

smallersoup pushed a commit to smallersoup/shardingsphere-elasticjob that referenced this issue Jun 22, 2022
Build CuratorFrameworkFactory supports an option to skip Ensemble tracking
@linghengqian
Copy link
Member

  • So you want to PR this?

@xull1995
Copy link

I'm facing the same issue. My ZooKeeper cluster is deployed on Kubernetes, and the ZooKeeper nodes are using a headless service. As a result, the headless domain is written under the /zookeeper/config znode. Because Curator (version higher than 3.0.0) defaults to enabling Ensemble tracking, this causes the client program to resolve the headless domain and fail during reconnection.

have any plans for a fix?

@linghengqian
Copy link
Member

  • @xull1995 It depends on whether you or someone else is interested in submitting a PR. I am only a committer on the ShardingSphere side, so I don’t know much about the internal structure of the ShardingSphere Elasticjob side.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants