[
https://issues.apache.org/jira/browse/FLINK-3088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15029950#comment-15029950
]
ASF GitHub Bot commented on FLINK-3088:
---------------------------------------
Github user rmetzger commented on a diff in the pull request:
https://github.com/apache/flink/pull/1415#discussion_r46053491
--- Diff:
flink-java/src/main/java/org/apache/flink/api/java/typeutils/runtime/ValueComparator.java
---
@@ -63,7 +66,22 @@ public int hash(T record) {
@Override
public void setReference(T toCompare) {
checkKryoInitialized();
- reference = this.kryo.copy(toCompare);
--- End diff --
Why are we are using Kryo here in the first place? Why not the
ValueSerializer?
> WritableSerializer cannot copy writable object
> ----------------------------------------------
>
> Key: FLINK-3088
> URL: https://issues.apache.org/jira/browse/FLINK-3088
> Project: Flink
> Issue Type: Bug
> Components: Core
> Affects Versions: 1.0.0, 0.10.1
> Reporter: Till Rohrmann
> Assignee: Till Rohrmann
>
> The {{WritableSerializer}}, {{ValueSerializer}}, {{AvroSerializer}},
> {{WritableComparator}} and {{ValueComparator}} use plain {{Kryo}} instances
> to copy the objects. In cases where {{Kryo}} fails to copy the object, e.g.
> missing no-arg constructor, the serializer and comparator instances fail even
> though the objects are serializable.
> As a fallback strategy I propose to copy the objects by serializing and
> deserializing them.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)