-
Notifications
You must be signed in to change notification settings - Fork 123
Open
Description
Trino Gateway currently lacks a way to distinguish between unexpected cluster failures and planned maintenance windows. This creates challenges for production operations:
- Orchestration Integration: No standard way for automation systems to signal "this cluster is intentionally offline"
- Routing Coordination: Queries may be routed to clusters undergoing planned work
- Observability: Cannot distinguish planned downtime from failures in metrics and alerts
- Multi-Team Operations: No clear signal about maintenance state across teams
I propose to add a MAINTENANCE state to the TrinoStatus enum with two-level protection:
Level 1: Routing Protection (Hard Block)
- Clusters in
MAINTENANCEare automatically excluded from query routing - Prevents queries from being routed to clusters undergoing maintenance
- Works automatically through existing routing filters (only
HEALTHYclusters are routed to)
Level 2: Operator Protection (Soft Warning)
- UI displays clear visual indicator (orange badge) for clusters in maintenance
- Operators attempting to activate a cluster in maintenance receive a confirmation dialog
- Allows emergency overrides while preventing accidental interference
- Operator override wins: Activating/deactivating a cluster via UI or API takes precedence over maintenance state
- All override actions are logged for audit purposes
Use Cases
- Blue/Green Deployments: Mark the old version for maintenance during version rollout
- Infrastructure Maintenance: OS patches, hardware upgrades, network configuration changes
- Capacity Management: Planned cluster resizing or configuration updates
- Automated Orchestration: Integration with cluster management systems (Kubernetes operators, ACM, etc.)
- Multi-Team Coordination: Clear signal to all teams that a cluster is intentionally offline
I'm open to suggestions and discussion over any concerns. I welcome inputs on the best path forward.
jalpan-randeri and andythsu
Metadata
Metadata
Assignees
Labels
No labels