Introduction
In this post, we'll outline the bug fixes in the latest release of the Druid Operator. We extend our appreciation to the new contributors who have played a crucial role in maintaining the code base.
Bug Fixes
List of bug fixes in the 1.2.3 release
1. Multi-namespace Watch Cache Issue
Druid Operator can be run in multiple scopes
Cluster Scope - Druid controller watches and reconciles all namespaces.
Single Namespace Scope - Druid controllers watches and reconciles a single namespace.
Multi Namespace Scope - Druid controllers watches and reconciles multiple namespace.
While upgrading underlying controller runtime library, we missed out on testing for running druid operator in single namespace scoped. While debugging we found that the underlying multi namespace cache function was conflicting when running single namespace. A minor tweak in the function resulted in fixing the bug.
Stability Improvements
Fixes to improve druid operator stability.
1. Improve execCheckCrashStatus function
The execCheckCrashStatus, checks for pods in crashing loop back state and deletes those pods. To learn more about the feature please refer here.
The following function now lists only specific druid node pods by applying selectors in the list function. List calls are expensive on K8s API, thus querying specific pods makes it much more efficient.
Please find the PR.
Upgrade Druid Operator
Add and Update Repo
helm repo add datainfra https://charts.datainfra.io
helm repo update
Upgrade the operator version
helm upgrade --install <release_name> datainfra/druid-operator --namespace <release_namespace> --version=0.3.6