public class FlinkKafkaProducer011 extends Object
Problem is that FlinkKafkaProducer (universal) and FlinkKafkaProducer011 have different names and they both defined static classes NextTransactionalIdHint, KafkaTransactionState and KafkaTransactionContext inside the parent classes. This is causing incompatibility problems since for example FlinkKafkaProducer011.KafkaTransactionState and FlinkKafkaProducer.KafkaTransactionState are treated as completely incompatible classes, despite being identical.
This issue is solved by using custom serialization logic: keeping a fake/dummy FlinkKafkaProducer011.*Serializer classes in the universal connector (this class), as entry points for the deserialization and converting them to FlinkKafkaProducer.*Serializer counter parts. After all serialized binary data are exactly the same in all of those cases.
For more details check FLINK-11249 and the discussion in the pull requests.
Modifier and Type | Class and Description |
---|---|
static class |
FlinkKafkaProducer011.ContextStateSerializer |
static class |
FlinkKafkaProducer011.NextTransactionalIdHint |
static class |
FlinkKafkaProducer011.NextTransactionalIdHintSerializer |
static class |
FlinkKafkaProducer011.TransactionStateSerializer |
Constructor and Description |
---|
FlinkKafkaProducer011() |
Copyright © 2014–2023 The Apache Software Foundation. All rights reserved.