villebro commented on PR #392: URL: https://github.com/apache/superset-kubernetes-operator/pull/392#issuecomment-6278477582
> One question: rehydrate must use the image the schema still matches, not the new one. I'd recreate components pinned to status.lastLifecycleImage, which reuses the existing drain path. The alternative is scaling to zero instead of deleting during drain, so rehydrate restores the previous state as is. Which do you prefer? And should requiresDrain: false stay as an opt-out, or should I drop it? The current drain implementation deletes Deployments, HPAs, PDBs, and non-web Services, then waits for the pods to terminate. I’d prefer to retain that clean delete-and-reconcile model rather than leave zero-scaled workload resources around. But I'm not super heavily opinionated here, so I could be convinced otherwise. Also, thinking more closely about this, I’m concerned that recreating components pinned only to `status.lastLifecycleImage` may not faithfully restore the old state, since component image overrides and other workload configuration may also have changed. So I think terminal backup failure should maybe leave the instance drained with maintenance active and let the user retry/fix or disable backup. If automatic restoration is a requirement, scale-to-zero may be safer specifically because it preserves the exact applied Deployment, but that would need explicit HPA and replica restoration semantics. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
