From e86d13eea6ae80cc1394c956c0d2e19d2f9f8171 Mon Sep 17 00:00:00 2001 From: Techassi Date: Mon, 1 Jun 2026 16:32:14 +0200 Subject: [PATCH 1/5] chore(getting_started): Bump ZooKeeper version to 3.9.5 --- .../zookeeper/examples/getting_started/code/getting_started.sh | 2 +- .../examples/getting_started/code/getting_started.sh.j2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/modules/zookeeper/examples/getting_started/code/getting_started.sh b/docs/modules/zookeeper/examples/getting_started/code/getting_started.sh index 4d55c9f4..648222f6 100755 --- a/docs/modules/zookeeper/examples/getting_started/code/getting_started.sh +++ b/docs/modules/zookeeper/examples/getting_started/code/getting_started.sh @@ -70,7 +70,7 @@ zkCli_ls() { # tag::zkcli-ls[] kubectl run my-pod \ --stdin --tty --quiet --restart=Never \ - --image oci.stackable.tech/sdp/zookeeper:3.9.4-stackable0.0.0-dev -- \ + --image oci.stackable.tech/sdp/zookeeper:3.9.5-stackable0.0.0-dev -- \ bin/zkCli.sh -server simple-zk-server:2282 ls / > /dev/null && \ kubectl logs my-pod && \ kubectl delete pods my-pod diff --git a/docs/modules/zookeeper/examples/getting_started/code/getting_started.sh.j2 b/docs/modules/zookeeper/examples/getting_started/code/getting_started.sh.j2 index 6bf68675..758337cc 100755 --- a/docs/modules/zookeeper/examples/getting_started/code/getting_started.sh.j2 +++ b/docs/modules/zookeeper/examples/getting_started/code/getting_started.sh.j2 @@ -70,7 +70,7 @@ zkCli_ls() { # tag::zkcli-ls[] kubectl run my-pod \ --stdin --tty --quiet --restart=Never \ - --image oci.stackable.tech/sdp/zookeeper:3.9.4-stackable{{ versions.zookeeper }} -- \ + --image oci.stackable.tech/sdp/zookeeper:3.9.5-stackable{{ versions.zookeeper }} -- \ bin/zkCli.sh -server simple-zk-server:2282 ls / > /dev/null && \ kubectl logs my-pod && \ kubectl delete pods my-pod From d2be4e1c479ca2674973b02e1f81a222795f4541 Mon Sep 17 00:00:00 2001 From: Techassi Date: Mon, 1 Jun 2026 16:33:16 +0200 Subject: [PATCH 2/5] docs: Bump ZooKeeper version to 3.9.5 --- .../zookeeper/examples/getting_started/code/zookeeper.yaml | 2 +- .../zookeeper/examples/getting_started/code/zookeeper.yaml.j2 | 2 +- .../usage_guide/example-cluster-tls-authentication.yaml | 2 +- .../examples/usage_guide/example-cluster-tls-encryption.yaml | 2 +- docs/modules/zookeeper/pages/reference/discovery.adoc | 2 +- docs/modules/zookeeper/pages/usage_guide/overrides.adoc | 2 +- docs/modules/zookeeper/pages/znodes.adoc | 2 +- docs/modules/zookeeper/partials/supported-versions.adoc | 3 ++- 8 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/modules/zookeeper/examples/getting_started/code/zookeeper.yaml b/docs/modules/zookeeper/examples/getting_started/code/zookeeper.yaml index 7b173834..7bb6ad50 100644 --- a/docs/modules/zookeeper/examples/getting_started/code/zookeeper.yaml +++ b/docs/modules/zookeeper/examples/getting_started/code/zookeeper.yaml @@ -5,7 +5,7 @@ metadata: name: simple-zk spec: image: - productVersion: 3.9.4 + productVersion: 3.9.5 servers: roleConfig: listenerClass: cluster-internal diff --git a/docs/modules/zookeeper/examples/getting_started/code/zookeeper.yaml.j2 b/docs/modules/zookeeper/examples/getting_started/code/zookeeper.yaml.j2 index 7b173834..7bb6ad50 100644 --- a/docs/modules/zookeeper/examples/getting_started/code/zookeeper.yaml.j2 +++ b/docs/modules/zookeeper/examples/getting_started/code/zookeeper.yaml.j2 @@ -5,7 +5,7 @@ metadata: name: simple-zk spec: image: - productVersion: 3.9.4 + productVersion: 3.9.5 servers: roleConfig: listenerClass: cluster-internal diff --git a/docs/modules/zookeeper/examples/usage_guide/example-cluster-tls-authentication.yaml b/docs/modules/zookeeper/examples/usage_guide/example-cluster-tls-authentication.yaml index d45f9b10..a784aabf 100644 --- a/docs/modules/zookeeper/examples/usage_guide/example-cluster-tls-authentication.yaml +++ b/docs/modules/zookeeper/examples/usage_guide/example-cluster-tls-authentication.yaml @@ -5,7 +5,7 @@ metadata: name: simple-zk spec: image: - productVersion: 3.9.4 + productVersion: 3.9.5 clusterConfig: authentication: - authenticationClass: zk-client-tls # <1> diff --git a/docs/modules/zookeeper/examples/usage_guide/example-cluster-tls-encryption.yaml b/docs/modules/zookeeper/examples/usage_guide/example-cluster-tls-encryption.yaml index 6e146c11..0f10d460 100644 --- a/docs/modules/zookeeper/examples/usage_guide/example-cluster-tls-encryption.yaml +++ b/docs/modules/zookeeper/examples/usage_guide/example-cluster-tls-encryption.yaml @@ -5,7 +5,7 @@ metadata: name: simple-zk spec: image: - productVersion: 3.9.4 + productVersion: 3.9.5 clusterConfig: tls: serverSecretClass: tls # <1> diff --git a/docs/modules/zookeeper/pages/reference/discovery.adoc b/docs/modules/zookeeper/pages/reference/discovery.adoc index f7481768..02ac69c0 100644 --- a/docs/modules/zookeeper/pages/reference/discovery.adoc +++ b/docs/modules/zookeeper/pages/reference/discovery.adoc @@ -26,7 +26,7 @@ The name of the ConfigMap created for this discovery profile is `$BASENAME-nodep Each discovery profile contains the following fields: -`ZOOKEEPER`:: A connection string, as accepted by https://zookeeper.apache.org/doc/r3.9.4/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeper.html#ZooKeeper-java.lang.String-int-org.apache.zookeeper.Watcher-[the official Java client], e.g. `test-zk-server-default-0.test-zk-server-default.kuttl-test-proper-spaniel.svc.cluster.local:2282,test-zk-server-default-1.test-zk-server-default.kuttl-test-proper-spaniel.svc.cluster.local:2282/znode-4e169890-d2eb-4d62-9515-e4786f0ac58e` +`ZOOKEEPER`:: A connection string, as accepted by https://zookeeper.apache.org/doc/r3.9.5/apidocs/zookeeper-server/org/apache/zookeeper/ZooKeeper.html#%3Cinit%3E(java.lang.String,int,org.apache.zookeeper.Watcher)[the official Java client], e.g. `test-zk-server-default-0.test-zk-server-default.kuttl-test-proper-spaniel.svc.cluster.local:2282,test-zk-server-default-1.test-zk-server-default.kuttl-test-proper-spaniel.svc.cluster.local:2282/znode-4e169890-d2eb-4d62-9515-e4786f0ac58e` `ZOOKEEPER_HOSTS`:: A comma-separated list of `node1:port1,node2:port2,...`, e.g. `test-zk-server-default-0.test-zk-server-default.kuttl-test-proper-spaniel.svc.cluster.local:2282,test-zk-server-default-1.test-zk-server-default.kuttl-test-proper-spaniel.svc.cluster.local:2282` `ZOOKEEPER_CHROOT`:: The name of the root ZNode associated with the discovery profile, should be used if (and only if) connecting using `ZOOKEEPER_HOSTS` (rather than `ZOOKEEPER`), e.g. `/znode-4e169890-d2eb-4d62-9515-e4786f0ac58e` in case of a ZNode discovery or `/` in case of a ZookeeperServer discovery `ZOOKEEPER_CLIENT_PORT`:: The port clients should use when connecting, e.g. `2282` diff --git a/docs/modules/zookeeper/pages/usage_guide/overrides.adoc b/docs/modules/zookeeper/pages/usage_guide/overrides.adoc index ea1b42db..c51d2d8c 100644 --- a/docs/modules/zookeeper/pages/usage_guide/overrides.adoc +++ b/docs/modules/zookeeper/pages/usage_guide/overrides.adoc @@ -39,7 +39,7 @@ servers: All property values must be strings. -For a full list of configuration options refer to the Apache ZooKeeper https://zookeeper.apache.org/doc/r3.9.4/zookeeperAdmin.html#sc_configuration[Configuration Reference]. +For a full list of configuration options refer to the Apache ZooKeeper https://zookeeper.apache.org/doc/r3.9.5/zookeeperAdmin.html#sc_configuration[Configuration Reference]. === Overriding entries in security.properties diff --git a/docs/modules/zookeeper/pages/znodes.adoc b/docs/modules/zookeeper/pages/znodes.adoc index ea5fdb58..f7a6e07d 100644 --- a/docs/modules/zookeeper/pages/znodes.adoc +++ b/docs/modules/zookeeper/pages/znodes.adoc @@ -1,7 +1,7 @@ = ZNodes :description: Manage ZooKeeper ZNodes with the ZookeeperZnode resource. Each client should use a unique root ZNode to prevent conflicts. Network access to ZooKeeper is required. -Apache ZooKeeper organizes all data into a hierarchical system of https://zookeeper.apache.org/doc/r3.9.4/zookeeperProgrammers.html#ch_zkDataModel[ZNodes], +Apache ZooKeeper organizes all data into a hierarchical system of https://zookeeper.apache.org/doc/r3.9.5/zookeeperProgrammers.html#sc_zkDataModel_znodes, which act as both files (they can have data associated with them) and folders (they can contain other ZNodes) when compared to a traditional (POSIX-like) file system. In order to isolate different clients using the same ZooKeeper cluster, each client application should be assigned a unique root ZNode, which it can then organize diff --git a/docs/modules/zookeeper/partials/supported-versions.adoc b/docs/modules/zookeeper/partials/supported-versions.adoc index 5a09acaf..a84119e1 100644 --- a/docs/modules/zookeeper/partials/supported-versions.adoc +++ b/docs/modules/zookeeper/partials/supported-versions.adoc @@ -2,4 +2,5 @@ // This is a separate file, since it is used by both the direct ZooKeeper documentation, and the overarching // Stackable Platform documentation. -- 3.9.4 (LTS) +- 3.9.5 (LTS) +- 3.9.4 (Deprecated) From b10757f500451d0470cb5bf223ec168449c4adb7 Mon Sep 17 00:00:00 2001 From: Techassi Date: Mon, 1 Jun 2026 16:33:46 +0200 Subject: [PATCH 3/5] test: Bump ZooKeeper version to 3.9.5 in integration tests --- tests/test-definition.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test-definition.yaml b/tests/test-definition.yaml index deaa7b86..ac18ae1a 100644 --- a/tests/test-definition.yaml +++ b/tests/test-definition.yaml @@ -2,12 +2,12 @@ dimensions: - name: zookeeper values: - - 3.9.4 + - 3.9.5 # To use a custom image, add a comma and the full name after the product version # - x.x.x,oci.stackable.tech/sdp/zookeeper:x.x.x-stackable0.0.0-dev - name: zookeeper-latest values: - - 3.9.4 + - 3.9.5 # To use a custom image, add a comma and the full name after the product version # - x.x.x,oci.stackable.tech/sdp/zookeeper:x.x.x-stackable0.0.0-dev - name: use-server-tls From d8b74f5ac629e70ee8754b7d54ba2e1771fa2664 Mon Sep 17 00:00:00 2001 From: Techassi Date: Mon, 1 Jun 2026 16:34:19 +0200 Subject: [PATCH 4/5] test: Bump ZooKeeper version to 3.9.5 in unit tests --- rust/operator-binary/src/config/jvm.rs | 4 ++-- rust/operator-binary/src/crd/affinity.rs | 2 +- rust/operator-binary/src/crd/mod.rs | 14 +++++++------- rust/operator-binary/src/zk_controller.rs | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/rust/operator-binary/src/config/jvm.rs b/rust/operator-binary/src/config/jvm.rs index 87f975b7..dcc7b63d 100644 --- a/rust/operator-binary/src/config/jvm.rs +++ b/rust/operator-binary/src/config/jvm.rs @@ -112,7 +112,7 @@ mod tests { name: simple-zookeeper spec: image: - productVersion: "3.9.4" + productVersion: "3.9.5" servers: roleGroups: default: @@ -147,7 +147,7 @@ mod tests { name: simple-zookeeper spec: image: - productVersion: "3.9.4" + productVersion: "3.9.5" servers: config: resources: diff --git a/rust/operator-binary/src/crd/affinity.rs b/rust/operator-binary/src/crd/affinity.rs index 0fc6b82d..72cc5114 100644 --- a/rust/operator-binary/src/crd/affinity.rs +++ b/rust/operator-binary/src/crd/affinity.rs @@ -48,7 +48,7 @@ mod tests { name: simple-zk spec: image: - productVersion: 3.9.4 + productVersion: 3.9.5 clusterConfig: authentication: - authenticationClass: zk-client-tls diff --git a/rust/operator-binary/src/crd/mod.rs b/rust/operator-binary/src/crd/mod.rs index 2b844377..ca4d74d1 100644 --- a/rust/operator-binary/src/crd/mod.rs +++ b/rust/operator-binary/src/crd/mod.rs @@ -781,7 +781,7 @@ mod tests { name: simple-zookeeper spec: image: - productVersion: "3.9.4" + productVersion: "3.9.5" "#; let zookeeper: v1alpha1::ZookeeperCluster = serde_yaml::from_str(input).expect("illegal test input"); @@ -801,7 +801,7 @@ mod tests { name: simple-zookeeper spec: image: - productVersion: "3.9.4" + productVersion: "3.9.5" clusterConfig: tls: serverSecretClass: simple-zookeeper-client-tls @@ -825,7 +825,7 @@ mod tests { name: simple-zookeeper spec: image: - productVersion: "3.9.4" + productVersion: "3.9.5" clusterConfig: tls: serverSecretClass: null @@ -845,7 +845,7 @@ mod tests { name: simple-zookeeper spec: image: - productVersion: "3.9.4" + productVersion: "3.9.5" clusterConfig: tls: quorumSecretClass: simple-zookeeper-quorum-tls @@ -871,7 +871,7 @@ mod tests { name: simple-zookeeper spec: image: - productVersion: "3.9.4" + productVersion: "3.9.5" "#; let zookeeper: v1alpha1::ZookeeperCluster = serde_yaml::from_str(input).expect("illegal test input"); @@ -892,7 +892,7 @@ mod tests { name: simple-zookeeper spec: image: - productVersion: "3.9.4" + productVersion: "3.9.5" clusterConfig: tls: quorumSecretClass: simple-zookeeper-quorum-tls @@ -915,7 +915,7 @@ mod tests { name: simple-zookeeper spec: image: - productVersion: "3.9.4" + productVersion: "3.9.5" clusterConfig: tls: serverSecretClass: simple-zookeeper-server-tls diff --git a/rust/operator-binary/src/zk_controller.rs b/rust/operator-binary/src/zk_controller.rs index 96e49ee3..5983a4c9 100644 --- a/rust/operator-binary/src/zk_controller.rs +++ b/rust/operator-binary/src/zk_controller.rs @@ -1052,7 +1052,7 @@ mod tests { name: simple-zookeeper spec: image: - productVersion: "3.9.4" + productVersion: "3.9.5" servers: roleGroups: default: @@ -1079,7 +1079,7 @@ mod tests { name: simple-zookeeper spec: image: - productVersion: "3.9.4" + productVersion: "3.9.5" servers: configOverrides: zoo.cfg: From 3f60e6d4a08193dc43d943e28d3e3805d354e444 Mon Sep 17 00:00:00 2001 From: Techassi Date: Mon, 1 Jun 2026 16:49:38 +0200 Subject: [PATCH 5/5] test: Re-add 3.9.4 to integration tests --- tests/test-definition.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test-definition.yaml b/tests/test-definition.yaml index ac18ae1a..2bb193a5 100644 --- a/tests/test-definition.yaml +++ b/tests/test-definition.yaml @@ -2,6 +2,7 @@ dimensions: - name: zookeeper values: + - 3.9.4 - 3.9.5 # To use a custom image, add a comma and the full name after the product version # - x.x.x,oci.stackable.tech/sdp/zookeeper:x.x.x-stackable0.0.0-dev