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