Hi Robert,
I applied your fix but still I get one error (not in the same point at
least..)
Basically what I do is:

DataSet<Tuple2<String, DateTime>> someDates; //this is empty in my test
DataSet<Tuple3<String, String, DateTime>> someEvents;
DataSet<Tuple4<String, String, DateTime, DateTime>> res =
someEvents.coGroup(someDates).where(0).equalTo(0).with(
 new myCoGroupFunction<Tuple3<String, String, DateTime>, Tuple2<String,
DateTime>, Tuple4<String, String, DateTime, DateTime>> (...));
res.print();

in myCoGroupFunction I declare a Tuple4<String, String, DateTime, DateTime>
reuse = new Tuple4<>() and I collect reuse tuples with t.f3 = null.

Then I get this stackTrace:

Caused by: org.apache.flink.types.NullKeyFieldException
at
org.apache.flink.api.java.typeutils.runtime.TupleComparator.setReference(TupleComparator.java:76)
at
org.apache.flink.api.java.typeutils.runtime.TupleComparator.setReference(TupleComparator.java:30)
at
org.apache.flink.runtime.util.NonReusingKeyGroupedIterator.nextKey(NonReusingKeyGroupedIterator.java:115)
at
org.apache.flink.runtime.operators.chaining.SynchronousChainedCombineDriver.sortAndCombine(SynchronousChainedCombineDriver.java:233)
at
org.apache.flink.runtime.operators.chaining.SynchronousChainedCombineDriver.close(SynchronousChainedCombineDriver.java:194)
at
org.apache.flink.runtime.operators.RegularPactTask.run(RegularPactTask.java:504)
at
org.apache.flink.runtime.operators.RegularPactTask.invoke(RegularPactTask.java:362)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:562)
at java.lang.Thread.run(Thread.java:745)

On Fri, May 15, 2015 at 1:57 PM, Flavio Pompermaier <pomperma...@okkam.it>
wrote:

> Thanks a lot Robert! Don't mention it ;)
>
>
> On Fri, May 15, 2015 at 1:54 PM, Robert Metzger <rmetz...@apache.org>
> wrote:
>
>> Hey,
>>
>> the patch is in my branch "flink2019".
>> Its really good that you've found the bug. We were using the wrong kryo
>> instance to create copies of generic types.
>>
>> Once travis validates that everything is good, I'll push it to master.
>>
>> On Fri, May 15, 2015 at 12:41 PM, Flavio Pompermaier <
>> pomperma...@okkam.it> wrote:
>>
>>> So do you think you could release a path soon? I need it to continue my
>>> work..otherwise if it's very simple you could send me the snippet of code
>>> to change my local flink version ;)
>>>
>>> Best,
>>> Flavio
>>>
>>> On Fri, May 15, 2015 at 11:22 AM, Robert Metzger <rmetz...@apache.org>
>>> wrote:
>>>
>>>> Yes ;)
>>>>
>>>> On Fri, May 15, 2015 at 11:10 AM, Flavio Pompermaier <
>>>> pomperma...@okkam.it> wrote:
>>>>
>>>>> Do you think it's comething easy to fix..?
>>>>>
>>>>> On Fri, May 15, 2015 at 10:51 AM, Robert Metzger <rmetz...@apache.org>
>>>>> wrote:
>>>>>
>>>>>> No problem ;)
>>>>>>
>>>>>> I was able to reproduce the issue and filed a JIRA for it:
>>>>>> https://issues.apache.org/jira/browse/FLINK-2019
>>>>>>
>>>>>> On Fri, May 15, 2015 at 10:36 AM, Flavio Pompermaier <
>>>>>> pomperma...@okkam.it> wrote:
>>>>>>
>>>>>>> Unfortunately it's really difficult for me to extract the code..I'm
>>>>>>> using joda shipped with Flink 0.9-SNAPSHOT (i.e. 2.5) and before today 
>>>>>>> I've
>>>>>>> never seen this error..als o because DateTime is Serializable :)
>>>>>>>
>>>>>>> On Fri, May 15, 2015 at 10:25 AM, Fabian Hueske <fhue...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Is there a chance that the version of JodaTime changed?
>>>>>>>>
>>>>>>>> 2015-05-15 10:22 GMT+02:00 Robert Metzger <rmetz...@apache.org>:
>>>>>>>>
>>>>>>>>> Can you share the Flink program?
>>>>>>>>> Or at least the definition of the Tuple?
>>>>>>>>>
>>>>>>>>> I'll look into this issue in a few minutes.
>>>>>>>>>
>>>>>>>>> On Fri, May 15, 2015 at 10:13 AM, Flavio Pompermaier <
>>>>>>>>> pomperma...@okkam.it> wrote:
>>>>>>>>>
>>>>>>>>>> I'm using Flink 0.9-SNAPSHOT and I've never seen this error
>>>>>>>>>> before today (the job haven't changed..)
>>>>>>>>>>
>>>>>>>>>> On Fri, May 15, 2015 at 10:09 AM, Robert Metzger <
>>>>>>>>>> rmetz...@apache.org> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Flavio,
>>>>>>>>>>>
>>>>>>>>>>> which version of Flink are you using?
>>>>>>>>>>> If you are using 0.9 something, then this should actually work
>>>>>>>>>>>  ;)
>>>>>>>>>>>
>>>>>>>>>>> On Fri, May 15, 2015 at 10:06 AM, Flavio Pompermaier <
>>>>>>>>>>> pomperma...@okkam.it> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi to all,
>>>>>>>>>>>>
>>>>>>>>>>>> this morning I run my Flink job and I got the following
>>>>>>>>>>>> exception serializing a DateTime Tuple..could you help me to 
>>>>>>>>>>>> understand
>>>>>>>>>>>> what's happening here?
>>>>>>>>>>>>
>>>>>>>>>>>> com.esotericsoftware.kryo.KryoException: Class cannot be
>>>>>>>>>>>> created (missing no-arg constructor): 
>>>>>>>>>>>> org.joda.time.chrono.ISOChronology
>>>>>>>>>>>> Serialization trace:
>>>>>>>>>>>> iChronology (org.joda.time.DateTime)
>>>>>>>>>>>> at
>>>>>>>>>>>> com.esotericsoftware.kryo.Kryo$DefaultInstantiatorStrategy.newInstantiatorOf(Kryo.java:1228)
>>>>>>>>>>>> at
>>>>>>>>>>>> com.esotericsoftware.kryo.Kryo.newInstantiator(Kryo.java:1049)
>>>>>>>>>>>> at com.esotericsoftware.kryo.Kryo.newInstance(Kryo.java:1058)
>>>>>>>>>>>> at
>>>>>>>>>>>> com.esotericsoftware.kryo.serializers.FieldSerializer.createCopy(FieldSerializer.java:620)
>>>>>>>>>>>> at
>>>>>>>>>>>> com.esotericsoftware.kryo.serializers.FieldSerializer.copy(FieldSerializer.java:624)
>>>>>>>>>>>> at com.esotericsoftware.kryo.Kryo.copy(Kryo.java:862)
>>>>>>>>>>>> at
>>>>>>>>>>>> com.esotericsoftware.kryo.serializers.ObjectField.copy(ObjectField.java:140)
>>>>>>>>>>>> at
>>>>>>>>>>>> com.esotericsoftware.kryo.serializers.FieldSerializer.copy(FieldSerializer.java:634)
>>>>>>>>>>>> at com.esotericsoftware.kryo.Kryo.copy(Kryo.java:862)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.flink.api.java.typeutils.runtime.GenericTypeComparator.setReference(GenericTypeComparator.java:77)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.flink.api.java.typeutils.runtime.GenericTypeComparator.setReference(GenericTypeComparator.java:1)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.flink.api.java.typeutils.runtime.TupleComparator.setReference(TupleComparator.java:72)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.flink.api.java.typeutils.runtime.TupleComparator.setReference(TupleComparator.java:1)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.flink.runtime.util.NonReusingKeyGroupedIterator.nextKey(NonReusingKeyGroupedIterator.java:115)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.flink.runtime.operators.chaining.SynchronousChainedCombineDriver.sortAndCombine(SynchronousChainedCombineDriver.java:233)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.flink.runtime.operators.chaining.SynchronousChainedCombineDriver.close(SynchronousChainedCombineDriver.java:194)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.flink.runtime.operators.RegularPactTask.run(RegularPactTask.java:504)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.flink.runtime.operators.RegularPactTask.invoke(RegularPactTask.java:362)
>>>>>>>>>>>> at org.apache.flink.runtime.taskmanager.Task.run(Task.java:562)
>>>>>>>>>>>> at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to