diff --git a/.changes/unreleased/Fixed-20250127-141003.yaml b/.changes/unreleased/Fixed-20250127-141003.yaml new file mode 100644 index 00000000..aa6c20f7 --- /dev/null +++ b/.changes/unreleased/Fixed-20250127-141003.yaml @@ -0,0 +1,3 @@ +kind: Fixed +body: panic when create object with .spec.pause is true +time: 2025-01-27T14:10:03.497565+08:00 diff --git a/internal/controllers/database/sync.go b/internal/controllers/database/sync.go index 6255d521..0ad5e9ad 100644 --- a/internal/controllers/database/sync.go +++ b/internal/controllers/database/sync.go @@ -359,8 +359,8 @@ func (r *Reconciler) waitForStatefulSetToScale( func shouldIgnoreDatabaseChange(database *resources.DatabaseBuilder) resources.IgnoreChangesFunction { return func(oldObj, newObj runtime.Object) bool { - if _, ok := newObj.(*appsv1.StatefulSet); ok { - if database.Spec.Pause && *oldObj.(*appsv1.StatefulSet).Spec.Replicas == 0 { + if statefulSet, ok := oldObj.(*appsv1.StatefulSet); ok { + if database.Spec.Pause && *statefulSet.Spec.Replicas == 0 { return true } } diff --git a/internal/controllers/storage/sync.go b/internal/controllers/storage/sync.go index ebf833ec..55cde3ce 100644 --- a/internal/controllers/storage/sync.go +++ b/internal/controllers/storage/sync.go @@ -292,8 +292,8 @@ func (r *Reconciler) waitForNodeSetsToProvisioned( func shouldIgnoreStorageChange(storage *resources.StorageClusterBuilder) resources.IgnoreChangesFunction { return func(oldObj, newObj runtime.Object) bool { - if _, ok := newObj.(*appsv1.StatefulSet); ok { - if storage.Spec.Pause && *oldObj.(*appsv1.StatefulSet).Spec.Replicas == 0 { + if statefulSet, ok := oldObj.(*appsv1.StatefulSet); ok { + if storage.Spec.Pause && *statefulSet.Spec.Replicas == 0 { return true } }