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]

Reply via email to