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]

Reply via email to