feat: Idl support for failover reason variable #236
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This change adds a reason string field to the FailoverDomainRequest message to increase transparency around failover operations. This allows us to store the reason in the failover history and provide that information to users for better operational visibility and debugging.
Type of Change
Data Effect
Yes - The reason field will be persisted as part of the domain failover history.
Detailed Description
This PR adds a new optional reason field (field number 31) to the FailoverDomainRequest message in service_domain.proto. The field captures user-provided rationale for initiating a failover. As a proto3 field, it defaults to an empty string when not provided. The change also includes updated Go bindings generated by the protobuf compiler.
Impact Analysis
Testing Plan
Rollout Plan
The deployment must follow this order: IDL first, then server updates, then Cadence workflows, and finally CLI updates. This ensures all components understand the new field before clients start sending it. Rollback is safe in reverse order because the field is optional. If issues arise, operators can immediately stop using the --reason flag in CLI commands while the core failover functionality remains unaffected. No explicit kill switch is needed due to the backward-compatible design.
This IDL change requires coordinated updates in the domain handler failover endpoint, Cadence workflows that execute failovers, and both the domain failover and admin cluster failover start CLI commands.