[ https://issues.apache.org/jira/browse/KAFKA-3055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15128891#comment-15128891 ]
Saravanan Tirugnanum commented on KAFKA-3055: --------------------------------------------- Hi Kishore I am facing this same problem and trying to see if we can handle without updating the patch fix done already. Can you please let me know how to disable cache as you mentioned this works fine when cache is disabled. regards Saravanan > JsonConverter mangles schema during serialization (fromConnectData) > ------------------------------------------------------------------- > > Key: KAFKA-3055 > URL: https://issues.apache.org/jira/browse/KAFKA-3055 > Project: Kafka > Issue Type: Bug > Components: copycat > Affects Versions: 0.9.0.0 > Reporter: Kishore Senji > Assignee: Ewen Cheslack-Postava > Fix For: 0.9.0.1, 0.9.1.0 > > > Test case is here: > https://github.com/ksenji/kafka-connect-test/tree/master/src/test/java/org/apache/kafka/connect/json > If Caching is disabled, it behaves correctly and JsonConverterWithNoCacheTest > runs successfully. Otherwise the test JsonConverterTest fails. > The reason is that the JsonConverter has a bug where it mangles the schema as > it assigns all String fields with the same name (and similar for all Int32 > fields) > This is how the schema & payload gets serialized for the Person Struct (with > caching disabled): > {code} > {"schema":{"type":"struct","fields":[{"type":"string","optional":false,"field":"firstName"},{"type":"string","optional":false,"field":"lastName"},{"type":"string","optional":false,"field":"email"},{"type":"int32","optional":false,"field":"age"},{"type":"int32","optional":false,"field":"weightInKgs"}],"optional":false,"name":"Person"},"payload":{"firstName":"Eric","lastName":"Cartman","email":"eric.cart...@southpark.com","age":10,"weightInKgs":40}} > {code} > where as when caching is enabled the same Struct gets serialized as (with > caching enabled) : > {code} > {"schema":{"type":"struct","fields":[{"type":"string","optional":false,"field":"email"},{"type":"string","optional":false,"field":"email"},{"type":"string","optional":false,"field":"email"},{"type":"int32","optional":false,"field":"weightInKgs"},{"type":"int32","optional":false,"field":"weightInKgs"}],"optional":false,"name":"Person"},"payload":{"firstName":"Eric","lastName":"Cartman","email":"eric.cart...@southpark.com","age":10,"weightInKgs":40}} > {code} > As we can see all String fields became "email" and all int32 fields became > "weightInKgs". -- This message was sent by Atlassian JIRA (v6.3.4#6332)