StefanRRichter opened a new pull request #7010: [FLINK-10353][kafka] Support 
change of transactional semantics in Kaf…
URL: https://github.com/apache/flink/pull/7010
 
 
   …ka Producer with existing state
   
   ## What is the purpose of the change
   
   This PR changes `FlinkKafkaProducer` and  `FlinkKafkaProducer011` to support 
a change of transactional semantics when restoring from existing state, e.g. a 
savepoint.
   
   ## Brief change log
   
   - Introduced `KafkaTransactionState#isTransactional` to distinguish which 
transactional handling should be applied instead of relying on what is 
currently configured.
   
   - Call `initializeUserContext` in `TwoPhaseCommitSinkFunction` for all cases 
that did not recover a user context.
   
   - Consider removing tranactional id from the properties when creating a new 
producer to deactivate transactional semantics if no longer required.
   
   
   ## Verifying this change
   
   Added `FlinkKafkaProducer(11)ITCase#testMigrateFromAtLeastOnceToExactlyOnce` 
and `#testMigrateFromAtExactlyOnceToAtLeastOnce`
   
   ## 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, Yarn/Mesos, ZooKeeper: (no)
     - 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 GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to