Skip to content

Add an explicit Blue/Green readiness log before manual switchover #2011

Description

@qkrtkdwns3410

Describe the feature

Please add an explicit log event that indicates when the Blue/Green plugin has recognized the target green database/topology for a given deployment before a manual Blue/Green switchover is initiated.

The current Blue/Green plugin can collect source and target topology information internally and later emits a switchover summary after the switchover completes. However, there is no clear, standalone operational log that answers:

Has this application instance already recognized the target green database/topology and built the blue-to-green mapping before I start the manual switchover?

This makes it difficult to confirm readiness per application instance before triggering a planned switchover.

Use Case

Before manually initiating an Amazon RDS Blue/Green switchover, operators want to verify that each running application instance has already detected the green deployment and is ready for the switchover.

In our operational workflow, we planned to ship this readiness signal to OpenSearch and use it as a pre-switchover validation check per instance. The desired signal is not the final switchover summary after completion, but a pre-switchover readiness event that can be queried before the operator starts the switchover.

Without this log, teams need to implement custom application-side checks or infer readiness from very verbose driver logs, which is harder to automate and more error-prone.

Proposed Solution

Add a concise log event from the Blue/Green plugin when the provider has enough information to confirm that the target green topology is known for the configured bgdId.

For example, emit an INFO or FINE level event from BlueGreenStatusProvider when both source and target interim statuses are available and the blue-to-green corresponding node map has been populated.

Example log shape:

[bgdId: '1'] Blue/Green target topology recognized: sourceHosts=3, targetHosts=3, correspondingNodes=3

It would be useful if the event included structured, grep-friendly fields such as:

  • bgdId
  • source/target role
  • current phase, for example CREATED
  • source host count
  • target host count
  • corresponding node count
  • whether the target green topology is considered ready

This would allow log pipelines such as OpenSearch to alert or dashboard on readiness before a manual switchover.

Other Information

The current documentation recommends allowing the active bg plugin several minutes to collect deployment status before initiating switchover, then reviewing the switchover summary in application logs after completion.

Relevant current behavior observed from source:

  • BlueGreenStatusProvider.prepareStatus(...) logs interim status at FINEST, updates internal state, updates corresponding nodes, updates summary status, and then calls logCurrentContext() and logSwitchoverFinalSummary().
  • BlueGreenStatusProvider.updateCorrespondingNodes() builds the blue-to-green mapping internally when both source and target topology information are available.
  • BlueGreenStatusProvider.logSwitchoverFinalSummary() logs the summary only after switchover completion/rollback conditions are met.
  • BlueGreenStatusProvider.logCurrentContext() can print corresponding nodes and green topology state, but only at FINEST; the FINE log only reports the current BG phase.

This feature request is specifically for an explicit, operationally useful readiness event before the switchover starts.

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

The AWS Advanced JDBC Wrapper version used

4.1.0

JDK version used

Java 17

Operating System and version

Not OS-specific; observed in a Java 17 application runtime

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions