Dennis-Mircea Ciupitu created FLINK-41304:
---------------------------------------------

             Summary: Support canary resources on FlinkDeployment only
                 Key: FLINK-41304
                 URL: https://issues.apache.org/jira/browse/FLINK-41304
             Project: Flink
          Issue Type: Improvement
          Components: Kubernetes Operator
            Reporter: Dennis-Mircea Ciupitu


h1. Motivation

The canary label ({{{}flink.apache.org/canary: "true"{}}}) is handled 
inconsistently across the operator resource kinds:
 * {{FlinkDeployment}} and {{FlinkSessionJob}} canaries are supported and 
checked by the health probe.
 * {{FlinkStateSnapshot}} has no canary handling in its controller, so the 
label is ignored and the resource is reconciled as a regular snapshot. The 
validation webhook still skips every canary-labelled resource, so an invalid 
canary-labelled snapshot is accepted on creation and only rejected later by the 
operator's own validation.
 * {{FlinkBlueGreenDeployment}} has no canary handling either, so the label is 
silently ignored and the resource is reconciled as a regular blue/green 
deployment.

All controllers share the same reconciliation thread pool, so a single canary 
kind already verifies that the operator picks up and reconciles spec changes in 
time.

A canary of another kind only adds checks on that kind’s informers and event 
processing, which the operator’s health check mechanism already provides 
regardless of canaries.

{{FlinkDeployment}} is the central resource of the operator, so canaries only 
need to be supported on that kind.
h1. Proposal
To unify the canary approach and limit it to detecting JOSDK reconciliation 
slowdowns:
  * Canary resources are supported on {{FlinkDeployment}} only.
 * {{FlinkSessionJob}} canaries keep working but are deprecated, with a warning 
log, and are planned to be handled like the other kinds in a later release.
 * Canary-labelled {{FlinkStateSnapshot}} and {{FlinkBlueGreenDeployment}} 
resources are not reconciled, and a warning explains that canaries must be 
{{FlinkDeployment}} resources.
 * The validation webhook only skips the validation of supported canary kinds.
 * The health documentation is updated accordingly.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to