Replaces `com.ecwid.consul:consul-api` with `io.vertx:vertx-consul-client` in `shardingsphere-plugin-mode-cluster-repository-consul`
Feature Request
For English only, other languages will not be accepted.
Please pay attention on issues you submitted, because we maybe need more details. If no response anymore and we cannot make decision by current information, we will close it.
Please answer these questions before submitting your issue. Thanks!
Is your feature request related to a problem?
- Yes, refer to apache/shardingsphere#29588 and apache/shardingsphere#29052 .
Describe the feature you would like.
-
com.ecwid.consul:consul-apihas not released a new version for 4 years, which has led to issues like https://github.com/Ecwid/consul-api/issues/246 and was released in Consul 1.17 .x will be completely unavailable. Issues like https://github.com/spring-cloud/spring-cloud-consul/issues/475 are actively being moved away fromcom.ecwid.consul:consul-api. -
Issues like https://github.com/Ecwid/consul-api/issues/19 expose that
com.ecwid.consul:consul-apidoes not encapsulate the watches API at all, refer to https://developer.hashicorp.com/consul/docs/v1.17.x/dynamic-app-config/watches . This resulted inshardingsphere-plugin-mode-cluster-repository-consuleven operating theindexmanually, which caused a lot of confusion in further maintenance. -
According to an investigation at https://github.com/apache/shardingsphere/pull/29588 , the Consul integration is currently unavailable, again requiring further investigation.
-
This issue target is handling two subtasks.
-
[ ] Replaces
com.ecwid.consul:consul-apiwithcom.orbitz.consul:consul-client.- Although
com.orbitz.consul:consul-clienthas been archived, its last release is later thancom.ecwid.consul:consul-api. It also provides an encapsulation of thewatchesinterface, simplifying the use ofConsul Indexhandling, which helps align the operations of existing Zookeeper integration implementations in ShardingSphere. - Although there is a community branch as
org.kiwiproject:consul-client, there is nothing that can be done about ShardingSphere considering that https://github.com/kiwiproject/consul-client/pull/39 improves the JDK compiled version to JDK11.
- Although
-
[ ] Replaces
com.orbitz.consul:consul-clientwithio.vertx:vertx-consul-client.io.vertx:vertx-consul-clientis the only Java Client for Consul currently being maintained. I don't think we should actively encapsulate HttpClient, this kind of thing should be done by a third party.
-
There hasn't been any activity on this issue recently, and in order to prioritize active issues, it will be marked as stale.
- The current issue is unlikely to be completed before the 5.5.0 release. Consul's integrated
wacth()function implementation is broken for unknown reasons.
- Due to the impact of https://github.com/apache/shardingsphere/pull/30288 , this issue is moved to plugin git.
- I will put the current question on hold as I don't want to spend effort on Consul under Business Source License 1.1. This is for personal reasons.
- If anyone is willing to submit a PR to fix the current issue, I will still assist in reviewing and merging.