rudikershaw opened a new pull request #17430:
URL: https://github.com/apache/flink/pull/17430


   ## What is the purpose of the change
   
   This is a fix being pulled back into 1.13, please see #17417 for the 
original PR. The following is just the original text from the previous pull 
request; 
   
   The EFO Kinesis connector will register and de-register stream consumers 
based on the [configured registration 
strategy](https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/connectors/datastream/kinesis/#efo-stream-consumer-registrationderegistration).
 When EAGER is used, the client (usually job manager) will register the 
consumer and then the task managers will de-register the consumer when job 
stops/fails. If the job is configured to restart on fail, then the consumer 
will not exist and the job will continuously fail over.
   
   After this change the connector will not trigger consumer deregistration in 
EFO if using the EAGER registration strategy. This will allow EAGER EFO 
configured connector applications to use restart policies without continuously 
failing. The documentation is updated accordingly.
   
   ## Brief change log
   
     - *Add dedicated utility function for determining whether consumer 
deregistration is required.*
     - *Ensure consumer deregistration now only occurs when EFO is configured 
using the LAZY registration strategy.*
     - *Update the documentation to reflect the changes.* 
   
   
   ## Verifying this change
   
   Parts of this change are already covered by existing tests in 
`org.apache.flink.streaming.connectors.kinesis.util.StreamConsumerRegistrarUtilTest`.
 
   
   This change added tests and can be verified as follows:
     - *Added unit test to verify deregistration criteria i.e. 
`org.apache.flink.streaming.connectors.kinesis.util.StreamConsumerRegistrarUtilTest#testDeregisterStreamConsumersOnlyDeregistersEFOLazilyInitializedConsumers`*
     - *Manually verified the change by running a Flink application with a 
fixed delay restart strategy and a FlinkKinesisConsumer with EAGER EFO 
configured.* 
   
   ## 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, ZooKeeper: **_Yes_**
     - The S3 file system connector: **No**
   
   ## Documentation
   
     - References to the EAGER EFO deregistration policy have been updated in 
`datastream/kinesis.md` and `table/kinesis.md`.
   


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

To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to