stackabletech / stackabletech/zookeeper-operator

Apache Curator always uses cluster-internal addresses when reconnecting

Open
#913 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type/bug
Dominant language
Rust
Stars
37
Forks
11
Avg merge
1d 8h
Merged PRs (30d)
10

Description

Affected Stackable version

24.3.0

Affected Apache ZooKeeper version

3.8.4

Current and expected behavior

See https://stackable-workspace.slack.com/archives/C042UDVBRQF/p1738075756767349, originally reported by @djtfmartin

Once it has connected once, Curator will pull the list of ensemble members from the ZooKeeper cluster, and use that instead of the configured connection string for reconnection attempts. This always contains the internal addresses, so clients that are not inside of the Kubernetes cluster will then fail to reconnect.

Possible solution

Ideally, fix the reported configuration so that it contains the correct addresses.

As a workaround, @gbif patched Curator to disable this functionality.

Additional context

No response

Environment

No response

Would you like to work on fixing this bug?

None

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the operator's ZooKeeper connection configuration and how Apache Curator receives the ensemble addresses after its initial connection. Verify how externally reachable addresses are produced and used during reconnection, then confirm that clients outside the Kubernetes cluster can reconnect without relying on cluster-internal addresses.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, kubernetes, rust
Domain
distributed-systems, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.