[ https://issues.apache.org/jira/browse/KAFKA-3803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15326092#comment-15326092 ]
Ewen Cheslack-Postava commented on KAFKA-3803: ---------------------------------------------- And to further confuse things, Kafka Streams introduced an immutable Bytes type: https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/common/utils/Bytes.java which is supposed to avoid both the pitfalls of using either byte[] (array equality doesn't do what you want) and ByteBuffer (mutable, and I think equality actually depends on current offset). > JsonConverter deserialized Struct containing bytes field does not return true > for equals() > ------------------------------------------------------------------------------------------ > > Key: KAFKA-3803 > URL: https://issues.apache.org/jira/browse/KAFKA-3803 > Project: Kafka > Issue Type: Bug > Components: KafkaConnect > Affects Versions: 0.10.0.0 > Reporter: Ewen Cheslack-Postava > > The problem is that byte[] comparisons will return false for equality, so > even if the two are effectively equal, Struct.equals will not return true. > It's unclear if this should be fixed or not. Equality wouldn't work for map > or array types containing bytes either. However, on possibility is making > ByteBuffer the default instead to alleviate this, although then we may end up > with asymmetry in equality. -- This message was sent by Atlassian JIRA (v6.3.4#6332)