Doris Operator
This document lists Doris Operator release notes in reverse chronological order.
26.0.0
Source: Release Notes 26.0.0
This version improves DDC lifecycle management and reliability, including graceful shutdown rollout for compute groups, configurable readiness probe policies, DCR mTLS support, and clearer DDC health reporting. It also enhances Helm chart configuration and adds several validation and stability fixes.
Features and Improvements
- Added graceful shutdown rollout for DDC compute groups during rolling updates, scale-down, and delete operations, with a sentinel compatibility gate that falls back to the normal StatefulSet flow for unsupported images. #502
- Supported a configurable readiness probe policy for
DorisClusterandDorisDisaggregatedClusterpods. #486 - Supported mTLS for DCR. #483
- Split the DDC compute group service into an internal headless service and an external service for smoother upgrades and traffic switching. #484
- Added component-level secret support to the Helm chart. #465
- Exposed
serviceAccountconfiguration for deployed pods in the Helm chart. #470
Bug Fixes
- Fixed DDC MetaService health aggregation so MetaService degradation is reflected in the cluster health status. #500
- Fixed a nil map panic in
CompareConfigmapAndTriggerRestartwhendcr.Annotationsis nil. #493 - Fixed the FE endpoint address JSON tag and regenerated
DorisClusterCRDs. #497 - Rejected invalid
DorisDisaggregatedClusterFE specs wherefeSpec.replicas < feSpec.electionNumber. #498 - Rejected DDC compute group storage template changes before applying immutable StatefulSet volume claim templates. #496
- Fixed the default
storage_root_pathin theDorisDisaggregatedClusterBE Helm config. #477
Reliability
- Rejected using the built-in
adminaccount as the operator management user in theDorisClusterandDorisDisaggregatedClusterwebhooks. #499 - Added pull request checks for Go formatting, vet/lint checks, operator build, and generated manifests and artifacts. #501
Thanks
25.8.0
Source: Release Notes 25.8.0
This version adds important DDC capabilities, including TLS support, PVC scaling, and pod debugging. It also improves Helm support, pod resource configuration, and reliability.
Features and Improvements
- Added TLS access support for
dorisctl. #432 - Supported TLS usage in Operator drop-node scenarios. #434
- Improved Helm chart templates. #452
- Allowed Helm and Operator charts to set Deployment resource quotas from
values.yaml. #462 - Made Helm chart
kubeVersioncompatible with Kubernetes versions that include pre-release suffixes, such as EKS and GKE versions. #463 - Added DDC debugging capabilities. #460 #471
- Added CPU resource awareness parameter passing for BE pods. #464
- Supported PVC expansion for DDC. #467
- Supported resource limit configuration for custom init container behavior. #469
Bug Fixes
- Fixed unit test case issues. #430 #433
- Fixed a resource leak caused by an unclosed SQL connection. #437
- Fixed FE PVC information collection. #438
- Fixed error log messages, duplicate environment variables, and other code defects. #440 #442 #449
- Fixed CVEs and updated security dependencies. #453
- Fixed MySQL SQL client structure definition mapping. #468
Reliability
- Reused
BuildVolumesVolumeMountsAndPVCsin the DDC MetaService controller to build PVCs, improving logic consistency. #436
Downloads
Refer to the image repository description for image formats.
Thanks
25.7.0
Source: Release Notes 25.7.0
This version improves drop-node compatibility and debug image builds. It also fixes DDC pod information mounts, PVC tests, and event handling.
Features and Improvements
- Made drop-node operations compatible with renamed compute groups. #417
- Upgraded the Go version used to build the debug image. #424
Bug Fixes
- Corrected spelling errors. #413
- Fixed missing pod information mounts for DDC containers. #415
- Fixed failing PVC construction unit tests. #420
- Prevented a nil pointer error when
EventStringis nil. #422
Thanks
25.6.0
Source: Release Notes 25.6.0
This version extends dorisctl to storage-compute decoupled clusters and fixes PVC creation during initial deployment.
Features and Improvements
- Supported using
dorisctlto manage storage-compute decoupled Doris clusters. #412
Bug Fixes
- Fixed PVCs not being created during initial deployment. #410
Thanks
25.5.3
Source: Release Notes 25.5.3
This version improves default images and documentation for DDC deployments, and prevents an internal reconciliation annotation from appearing in custom resources.
Features and Improvements
- Used the BE image as the default init container image. #405
- Added two feature descriptions to the README. #406
- Added FoundationDB usage examples for different scenarios. #407
Bug Fixes
- Prevented an annotation used only for reconciliation status checks from appearing in custom resources. #404
Thanks
25.5.2
Source: Release Notes 25.5.2
This version improves DDC reconciliation and debugging behavior.
Features and Improvements
- Avoided redundant reconciliation when the
DorisDisaggregatedClusterstatus is already consistent. #399 - Added the
apache.com.doris/runmodeannotation for entering debug mode. #400 - Made
DorisDisaggregatedClusterreconciliation the default mode. #402
Thanks
25.5.1
Source: Release Notes 25.5.1
This version adds Kerberos support for DDC and aligns disaggregated release versions with the Operator version.
Features and Improvements
- Added Kerberos support for DDC. #396
Bug Fixes
- Aligned the disaggregated release version with the Operator version. #395
Thanks
25.5.0
Source: Release Notes 25.5.0
This version adds workload group and Helm chart support for storage-compute decoupled clusters. It also improves DDC initialization and fixes image, permission, and MetaService configuration issues.
Features and Improvements
- Added workload group support for storage-compute decoupled Doris clusters. #378
- Added
DorisDisaggregatedClusterresource reconciliation. #379 - Added Helm chart support for storage-compute decoupled Doris clusters. #379 #386 #388 #393
- Allowed DDC to skip the default system initialization check. #389
Bug Fixes
- Adjusted the default Operator image. #377
- Added an aggregated
ClusterRole. #380 - Fixed the MetaService replica count for disaggregated clusters. #382
Thanks
25.4.0
Source: Release Notes 25.4.0
This version mainly supports mounting shared disks on DCR and configuring pod annotations in Helm charts.
Features and Improvements
- Supported configuring shared PVCs that need to be mounted on pods. #375
- Added pod annotation support in Doris Helm charts. #327
Thanks
25.3.0
Source: Release Notes 25.3.0
This version improves PersistentVolume capabilities for DorisCluster and DorisDisaggregatedCluster, fixes bugs, and improves project examples and Helm build methods.
Features and Improvements
- Added Helm
makesupport in the Makefile for Helm releases. #362 - Added DCR PersistentVolume template configuration and linkage with configuration files. #364
- Added DDC PersistentVolume customization and
PersistentVolumecompatibility. #369
Bug Fixes
- Avoided possible illegal strings in PVC names. #368
- Fixed scale-out failure when disaggregated Doris sets
adminUser. #367
Other Changes
- Added a new DDC example for affinity and password configuration. #366
- Removed unused API documentation. #370
Thanks
25.2.1
Source: Release Notes 25.2.1
This version adds disaggregated cluster resources to the Helm chart, improves release-time version replacement and image repositories, and fixes Helm chart issues.
Features and Improvements
- Added disaggregated custom resources to the Helm chart for deploying disaggregated clusters. #355
- Made version fields replaceable variables in the release process. #354
- Migrated images from the SelectDB repository to the Apache repository. #357
Bug Fixes
Thanks
25.2.0
Source: Release Notes 25.2.0
This version adds support for accessing Kerberos-protected data systems, upgrades Go and controller-runtime versions, improves runtime behavior, fixes bugs, and updates documentation.
Features and Improvements
- Added Kerberos support in the Operator to access Kerberos-protected data systems. #336 #348
- Improved BE initialization skipping and added environment variables to Doris Core. #338
Bug Fixes
- Fixed a bug that could cause reconciliation while waiting for BE deployment. #341
Other Changes
- Updated the base image in the Operator Dockerfile and changed the Go version to 1.23. #337 #346
- Updated Go and controller-runtime from alpha v1 to v1. #340
- Bumped
golang.org/x/netfrom 0.30.0 to 0.33.0. #343 - Updated README files. #344 #345 #347 #349 #350
Downloads
- Operator image: Docker Hub, using tags with the
operatorprefix. - Doris images: Docker Hub, using tags with the
ms,fe, andbeprefixes.
Thanks
25.1.0
Source: Release Notes 25.1.0
This version improves BE scheduling and configuration updates, adds controller tests, fixes StatefulSet preparation, and migrates image tags to the Apache repository.
Features and Improvements
- Added BE-to-FE affinity so the Operator prefers to schedule BEs on nodes that run FEs. #328
- Watched ConfigMap changes and restarted Doris when startup configuration changed. #331
- Allowed BEs to skip default system initialization. #321
- Added controller unit tests. #322
Bug Fixes
- Fixed parameters passed to
prepareStatefulsetApply. #326
Other Changes
- Migrated all image tags from the SelectDB repository to the Apache repository. #329
Thanks
24.2.0
Source: Release Note 24.2.0
This version adds multi-secret support for DorisDisaggregatedCluster and decommission-based BE scale-down for compute groups. It also improves Arrow Flight SQL exposure, resource cleanup, tests, documentation, and examples.
Features and Improvements
- Supported scaling down BEs in DDC compute groups through decommissioning. #306
- Supported username and password configuration and multiple secrets for DDC. #312
- Exposed Arrow Flight SQL ports as container ports. #295
- Exposed Arrow Flight SQL ports in disaggregated services. #307
- Expanded unit test coverage. #315
- Refactored compute group resource cleanup. #318
Bug Fixes
- Fixed SQL client behavior when dropping compute groups. #314
- Fixed service labels. #318
- Fixed compute group removal when
UniqueIdcontains a hyphen. #318 - Added safety checks for FE scale-down during cluster updates. #320
Other Changes
- Improved the README. #303
- Removed unused files, including obsolete Dockerfile and DDM code. #309 #314
- Improved
DorisDisaggregatedClusterCRD examples. #313
Thanks
24.1.0
Source: Release Note 24.1.0
This version adds workload group support to DorisCluster, introduces rolling restarts, and fixes FE deployment and access issues.
Workload groups require the official Apache Doris 2.1.7 image or later. For earlier Doris versions, build a compatible image manually.
Features and Improvements
- Added workload group support for Doris BEs. #289
- Added rolling restarts for Doris clusters. #292
- Updated the controller-gen version in the Makefile. #275
- Added license checks to GitHub Actions. #278 #279 #280
- Added a default issue template. #288
Bug Fixes
- Fixed a nil pointer error when FE
electionNumberis not set in aDorisClusterresource. #285 - Fixed the FE access address to use the service name and namespace. #291
Thanks
24.0.0
Source: Release Note 24.0.0
This version introduces the DorisDisaggregatedCluster (DDC) custom resource for deploying storage-compute decoupled Apache Doris clusters. It also expands support for storage-compute coupled deployments through DorisCluster (DCR).
DDC requires Apache Doris 3.0.2 or later.
New Features
DorisDisaggregatedCluster
- Added FoundationDB module access. #186
- Added MetaService module deployment. #194
- Added FE module deployment. #199
- Added compute group module deployment. #185 #189 #192 #197
- Added image entrypoint support for disaggregated Doris components. #195 #196
- Added FE scale-down. #225
- Added compute group scale-down and resource cleanup. #238
- Added FE scale-down through the SQL interface. #255
- Added compute group scale-down through the SQL interface. #256
DorisCluster
- Exposed the Arrow Flight SQL port through external services. #251
Improvements
DorisDisaggregatedCluster
- Supported creating compute groups through
be.confand PVC configuration. #198 - Improved the README and DDC example YAML files. #203 #210 #211 #214
- Updated README examples to use the latest version. #220
- Added an Operator switch for enabling DDC deployments. #204
- Added
SystemInitializationto prepare system environments. #212 - Kept compute group terminology aligned with Doris naming changes. #215 #245
- Removed the MetaService replicas CRD. #227
- Reworked the MetaService CRD into the
DorisDisaggregatedClusterCRD. #234 - Changed the compute group identifier to
UniqueIdfor the new SQL interface. #239 - Added an FE SQL image entrypoint and cluster ID hash code. #249
- Migrated DDC operations from the HTTP interface to the SQL interface. #254
- Added
timeoutSecondsfor pod liveness probes. #257 - Added
logNotStoreso FEs can skip log PVC creation. #266 - Updated DDC examples and documentation. #268
DorisCluster
- Added
timeoutSecondsfor pod liveness probes. #257
Other Changes
- Added unit tests for common utilities. #226
- Added unit tests for resource and controller models. #232
- Updated Helm chart configuration for Artifact Hub. #244
- Changed the organization name from SelectDB to Apache. #247
Bug Fixes
DorisDisaggregatedCluster
- Fixed pod affinity and StatefulSet PVC pointer handling. #209
- Corrected the default BE storage path. #243
- Fixed pod restarts during initial deployment caused by a duplicate
ms_tokenenvironment variable. #259 - Fixed the BE ConfigMap path used by the image entrypoint. #261
- Fixed deployments with a nil
electionNumberand stopped services from updating continuously. #262 #266 - Fixed repeated reconciliation. #263 #265
- Corrected the default BE cache path. #266
DorisCluster
- Prevented Operator upgrades from restarting Doris pods. #226
- Used deep copies when merging shared pod environment variable arrays. #236
- Fixed MySQL client failures when scaling down FEs across namespaces. #240
- Fixed deployment failures when
electionNumberis nil. #260
Other Changes
- Fixed resource model unit tests for StatefulSets. #252