Release Notes
v4.4.0
New and Optimized Features
- New product name. The plugin is now listed as Alauda Data Services Analytical Database E1. The change is to display names only: the package name, the custom resource kinds and API group, and existing instances are unchanged.
- ClickHouse® engine 25.8.33.6. The default server image moves from 25.8.16.34 to 25.8.33.6, a patch release on the same 25.8 LTS line. New instances use it by default; existing instances keep the image they specify until you change it, as described in Upgrade.
- Rebuilt images. The operator and metrics exporter are compiled with an updated Go toolchain on an updated Alpine base, and the busybox helper image is pinned to a fixed tag instead of a floating one. The ClickHouse server image includes the GNU C Library security updates published for its base up to
2.31-0ubuntu9.18, on both amd64 and arm64. - Image provenance. The operator, metrics exporter, and bundle images carry
org.opencontainers.image.source,org.opencontainers.image.revision, andorg.opencontainers.image.ref.namelabels identifying the source they were built from. - Memory-aware operator runtime. The operator and metrics exporter set the Go runtime's soft memory limit from their container memory limit, which reduces the risk of the operator being OOM-killed on large installations.
- Licence notices. Files modified from the upstream project carry modification notices, and the licence text is included in the operator, metrics exporter, and server images.
Behaviour Changes
- Instance status now reflects pod readiness. An instance is marked
Completedonly when every host's StatefulSet reports its desired replicas as ready, and it returns toInProgressif a host later loses readiness. When the pods become ready again, the instance moves back toCompletedon its own; you do not need to change the instance to clear the status. After upgrading, an instance whose pods are unhealthy reportsInProgresswhere earlier releases reportedCompleted. See Instance reports Completed while pods are unhealthy. - The operator requires a server image to be configured. The operator no longer falls back to a built-in server image reference when none is configured; it reports a configuration error at startup instead. Installations from the plugin package always configure the image, so they are not affected.
Upgrade Notes
- Upgrading the operator restarts ClickHouse pods. The new operator changes the default server image and the shared logger configuration, so every instance that does not specify its own server image is updated with a rolling restart, one replica at a time. Instances with a single replica are unavailable while their pod restarts. Plan the operator upgrade for a maintenance window if you run single-replica instances.
Fixed Issues
- ClickHouse could not start as a non-root user. The default logger configuration pointed the error log at
/dev/null. The server derives its log directory from that path and tried to manage/dev, which fails without root privileges, so an instance whose pods run as a non-root user — including any instance in a namespace that enforces the Pod Security Admissionrestrictedprofile — never started. The error log is now written to/var/log/clickhouse-server/clickhouse-server.err.log. - Instances reported
Completedwhile their pods were failing. The reconcile pass was marked complete once all objects had been submitted, without waiting for pods to become ready, and a status that had reachedCompletedwas never revised when pods later failed. Both cases are fixed; see Behaviour Changes above.
Known Issues
- Instances that set
logVolumeClaimTemplateare rejected under the Pod Security Admissionrestrictedprofile unless you define the log container yourself. The operator adds aclickhouse-logcontainer whose security context sets only a user ID. Define a container namedclickhouse-logwith a compliant security context in your pod template. See Pod rejected under Pod Security Admission. - Instances with a memory limit below 2 GiB can reject small queries. ClickHouse caps its own memory use at 90% of the container memory limit, and an idle server's resident memory can approach 1 GiB. With a 1 GiB limit, the server can exceed its cap while idle and fail even trivial queries with
Code: 241 … (total) memory limit exceeded. Setresources.limits.memoryof theclickhousecontainer to at least2Gi. If you do not set a limit, the container inherits the default memory limit of the namespace's LimitRange, which can be below 2 GiB. This also affects earlier releases. - Deleting an instance while the operator upgrade updates it takes longer than usual. After you upgrade the operator to this release, instances that do not set a server image are updated to the new server image one host at a time. If you delete such an instance during this update, the deletion starts only after the update finishes on all hosts, which can take several minutes per host. The deletion then completes.
ClickHouse is a registered trademark of ClickHouse, Inc. https://clickhouse.com
Alauda is an independent vendor. This product is not affiliated with, endorsed by, or sponsored by ClickHouse, Inc. All trademarks are the property of their respective owners and are used here for identification purposes only.