villebro opened a new pull request, #25: URL: https://github.com/apache/superset-kubernetes-operator/pull/25
## Summary Adds a `Drain` upgrade strategy that deletes all component child CRs before running database migrations, ensuring no application pods access the metastore during schema changes. This eliminates deadlocks caused by concurrent DB access during superset db upgrade. ## Changes - New `field spec.lifecycle.upgradeStrategy: Rolling | Drain` (default: `Rolling`) - Drain deletes component child CRs (cascading to Deployments, Services, HPAs) before the migrate task runs - Drain only activates when migration is actually needed (`migrate.strategy != Never`) - After lifecycle completes, normal component reconciliation recreates everything with the new image - Ingress/HTTPRoute and NetworkPolicies are preserved during drain (owned by parent CR) - Mermaid flow diagram added to architecture docs showing the full lifecycle state machine - Mermaid rendering enabled in mkdocs config - Developer guide documents Mermaid diagram conventions - User guide documents when to use each strategy with cross-reference to flow diagram ## When to use Drain - Metastore deadlocks from concurrent access during superset db upgrade - Components should always start fresh against the new schema (no stale ORM state) - Minimize issues caused by components expecting old metastore schema -- 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]
