[jira] [Created] (FLINK-11249) FlinkKafkaProducer011 can not be migrated to FlinkKafkaProducer

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-11249) FlinkKafkaProducer011 can not be migrated to FlinkKafkaProducer

Shang Yuanchun (Jira)
Piotr Nowojski created FLINK-11249:
--------------------------------------

             Summary: FlinkKafkaProducer011 can not be migrated to FlinkKafkaProducer
                 Key: FLINK-11249
                 URL: https://issues.apache.org/jira/browse/FLINK-11249
             Project: Flink
          Issue Type: Bug
          Components: Kafka Connector
    Affects Versions: 1.7.1, 1.7.0
            Reporter: Piotr Nowojski
             Fix For: 1.8.0


As reported by a user on the mailing list "How to migrate Kafka Producer ?" (on 18th December 2018), {{FlinkKafkaProducer011}} can not be migrated to {{FlinkKafkaProducer}} and the same problem can occur in the future Kafka producer versions/refactorings.

The issue is that {{ListState<FlinkKafkaProducer.NextTransactionalIdHint> FlinkKafkaProducer#nextTransactionalIdHintState}} field is serialized using java serializers and this is causing problems/collisions on {{FlinkKafkaProducer011.NextTransactionalIdHint}}  vs
{{FlinkKafkaProducer.NextTransactionalIdHint}}.

To fix that we probably need to release new versions of those classes, that will rewrite/upgrade this state field to a new one, that doesn't relay on java serialization. After this, we could drop the support for the old field and that in turn will allow users to upgrade from 0.11 connector to the universal one.

One bright side is that technically speaking our {{FlinkKafkaProducer011}} has the same compatibility matrix as the universal one (it's also forward & backward compatible with the same Kafka versions), so for the time being users can stick to {{FlinkKafkaProducer011}}.

FYI [~tzulitai] [~yanghua]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)