rkhachatryan opened a new pull request #14582:
URL: https://github.com/apache/flink/pull/14582


   This is a backport of #14581 to 1.12.
   
   ## What is the purpose of the change
   
   In regard to InputChannels, there are 3 cases when a checkpoint has to be 
declined:
   1. Channel state is not fully consumed
   2. Channel was not yet converted from Recovered to normal
   3. Channel was not yet converted from Unknown to normal
   
   In the 1st case, new checkpoint may skip some recovered buffers.
   In the 2nd and 3rd cases, not handling checkpointStarted() call
   by normal channels can prevent incoming buffers from being captured.
   In all these cases new checkpoint would be inconsistent.
   
   ## Verifying this change
   
   - Re-enabled existing `UnalignedCheckpointITCase` (union)
   - Added unit tests for channels 
(RecoveredInputChannelTest.#testCheckpointStartImpossible, 
SingleInputGateTest.testCheckpointsDeclinedUnlessAllChannelsAreKnown)
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): no
     - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: no
     - The serializers: no
     - The runtime per-record code paths (performance sensitive): no
     - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: yes
     - The S3 file system connector: no
   
   ## Documentation
   
     - Does this pull request introduce a new feature? no
     - If yes, how is the feature documented? not applicable
   


----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to