Thanks a lot for looking into this issue Stefan. Could you please let me know the issue ID once you open it? It'll help me understand the problem better, and also I could do a quick test in our environment once the issue is resolved.
Thanks, Shailesh On Wed, Nov 7, 2018, 10:46 PM Till Rohrmann <trohrm...@apache.org wrote: > Really good finding Stefan! > > On Wed, Nov 7, 2018 at 5:28 PM Stefan Richter <s.rich...@data-artisans.com> > wrote: > >> Hi, >> >> I think I can already spot the >> problem: LockableTypeSerializer.duplicate() is not properly implemented >> because it also has to call duplicate() on the element serialiser that is >> passed into the constructor of the new instance. I will open an issue and >> fix the problem. >> >> Best, >> Stefan >> >> On 7. Nov 2018, at 17:17, Till Rohrmann <trohrm...@apache.org> wrote: >> >> Hi Shailesh, >> >> could you maybe provide us with an example program which is able to >> reproduce this problem? This would help the community to better debug the >> problem. It looks not right and might point towards a bug in Flink. Thanks >> a lot! >> >> Cheers, >> Till >> >> On Tue, Oct 30, 2018 at 9:10 AM Dawid Wysakowicz <dwysakow...@apache.org> >> wrote: >> >>> This is some problem with serializing your events using Kryo. I'm adding >>> Gordon to cc, as he was recently working with serializers. He might give >>> you more insights what is going wrong. >>> >>> Best, >>> >>> Dawid >>> On 25/10/2018 05:41, Shailesh Jain wrote: >>> >>> Hi Dawid, >>> >>> I've upgraded to flink 1.6.1 and rebased by changes against the tag >>> 1.6.1, the only commit on top of 1.6 is this: >>> https://github.com/jainshailesh/flink/commit/797e3c4af5b28263fd98fb79daaba97cabf3392c >>> >>> I ran two separate identical jobs (with and without checkpointing >>> enabled), I'm hitting a ArrayIndexOutOfBoundsException (and sometimes NPE) >>> *only >>> when checkpointing (HDFS backend) is enabled*, with the below stack >>> trace. >>> >>> I did see a similar problem with different operators here ( >>> http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/IndexOutOfBoundsException-on-deserialization-after-updating-to-1-6-1-td23933.html). >>> Is this a known issue which is getting addressed? >>> >>> Any ideas on what could be causing this? >>> >>> Thanks, >>> Shailesh >>> >>> >>> 2018-10-24 17:04:13,365 INFO >>> org.apache.flink.runtime.taskmanager.Task - >>> SelectCepOperatorMixedTime (1/1) - SelectCepOperatorMixedTime (1/1) >>> (3d984b7919342a3886593401088ca2cd) switched from RUNNING to FAILED. >>> org.apache.flink.util.FlinkRuntimeException: Failure happened in filter >>> function. >>> at org.apache.flink.cep.nfa.NFA.createDecisionGraph(NFA.java:731) >>> at org.apache.flink.cep.nfa.NFA.computeNextStates(NFA.java:541) >>> at org.apache.flink.cep.nfa.NFA.doProcess(NFA.java:284) >>> at org.apache.flink.cep.nfa.NFA.process(NFA.java:220) >>> at >>> org.apache.flink.cep.operator.AbstractKeyedCEPPatternOperator.processEvent(AbstractKeyedCEPPatternOperator.java:379) >>> at >>> org.apache.flink.cep.operator.AbstractKeyedCEPPatternMixedTimeApproachOperator.processElement(AbstractKeyedCEPPatternMixedTimeApproachOperator.java:45) >>> at >>> org.apache.flink.streaming.runtime.io.StreamInputProcessor.processInput(StreamInputProcessor.java:202) >>> at >>> org.apache.flink.streaming.runtime.tasks.OneInputStreamTask.run(OneInputStreamTask.java:105) >>> at >>> org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:300) >>> at org.apache.flink.runtime.taskmanager.Task.run(Task.java:711) >>> at java.lang.Thread.run(Thread.java:748) >>> Caused by: org.apache.flink.util.WrappingRuntimeException: >>> java.lang.ArrayIndexOutOfBoundsException: -1 >>> at >>> org.apache.flink.cep.nfa.sharedbuffer.SharedBuffer.lambda$materializeMatch$1(SharedBuffer.java:305) >>> at java.util.HashMap.computeIfAbsent(HashMap.java:1127) >>> at >>> org.apache.flink.cep.nfa.sharedbuffer.SharedBuffer.materializeMatch(SharedBuffer.java:301) >>> at >>> org.apache.flink.cep.nfa.sharedbuffer.SharedBuffer.materializeMatch(SharedBuffer.java:291) >>> at >>> org.apache.flink.cep.nfa.NFA$ConditionContext.getEventsForPattern(NFA.java:811) >>> at >>> com.stellapps.contrakcep.flink.patterns.critical.AgitatorMalfunctionAfterChillingPattern$1.filter(AgitatorMalfunctionAfterChillingPattern.java:70) >>> at >>> com.stellapps.contrakcep.flink.patterns.critical.AgitatorMalfunctionAfterChillingPattern$1.filter(AgitatorMalfunctionAfterChillingPattern.java:62) >>> at >>> org.apache.flink.cep.nfa.NFA.checkFilterCondition(NFA.java:742) >>> at org.apache.flink.cep.nfa.NFA.createDecisionGraph(NFA.java:716) >>> ... 10 more >>> Caused by: java.lang.ArrayIndexOutOfBoundsException: -1 >>> at com.esotericsoftware.kryo.util.IntArray.add(IntArray.java:61) >>> at >>> com.esotericsoftware.kryo.Kryo.readReferenceOrNull(Kryo.java:800) >>> at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:655) >>> at >>> org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.copy(KryoSerializer.java:231) >>> at >>> org.apache.flink.cep.nfa.sharedbuffer.Lockable$LockableTypeSerializer.copy(Lockable.java:120) >>> at >>> org.apache.flink.cep.nfa.sharedbuffer.Lockable$LockableTypeSerializer.copy(Lockable.java:95) >>> at >>> org.apache.flink.api.common.typeutils.base.MapSerializer.copy(MapSerializer.java:113) >>> at >>> org.apache.flink.api.common.typeutils.base.MapSerializer.copy(MapSerializer.java:49) >>> at >>> org.apache.flink.runtime.state.heap.CopyOnWriteStateTable.get(CopyOnWriteStateTable.java:287) >>> at >>> org.apache.flink.runtime.state.heap.CopyOnWriteStateTable.get(CopyOnWriteStateTable.java:311) >>> at >>> org.apache.flink.runtime.state.heap.HeapMapState.get(HeapMapState.java:85) >>> at >>> org.apache.flink.runtime.state.UserFacingMapState.get(UserFacingMapState.java:47) >>> at >>> org.apache.flink.cep.nfa.sharedbuffer.SharedBuffer.lambda$materializeMatch$1(SharedBuffer.java:303) >>> ... 18 more >>> >>> On Fri, Sep 28, 2018 at 11:00 AM Shailesh Jain < >>> shailesh.j...@stellapps.com> wrote: >>> >>>> Hi Dawid, >>>> >>>> Thanks for your time on this. The diff should have pointed out only the >>>> top 3 commits, but since it did not, it is possible I did not rebase my >>>> branch against 1.4.2 correctly. I'll check this out and get back to you if >>>> I hit the same issue again. >>>> >>>> Thanks again, >>>> Shailesh >>>> >>>> On Thu, Sep 27, 2018 at 1:00 PM Dawid Wysakowicz < >>>> dwysakow...@apache.org> wrote: >>>> >>>>> Hi Shailesh, >>>>> >>>>> I am afraid it is gonna be hard to help you, as this branch differs >>>>> significantly from 1.4.2 release (I've done diff across your branch and >>>>> tag/release-1.4.2). Moreover the code in the branch you've provided still >>>>> does not correspond to the lines in the exception you've posted >>>>> previously. >>>>> Could you check if the problem occurs on vanilla flink as well? >>>>> >>>>> Best, >>>>> >>>>> Dawid >>>>> >>>>> On 27/09/18 08:22, Shailesh Jain wrote: >>>>> >>>>> Hi Dawid, >>>>> >>>>> Yes, it is version 1.4.2. We are running vanilla flink, but have added >>>>> a couple of changes in the CEP operator specifically (top 3 commits here: >>>>> https://github.com/jainshailesh/flink/commits/poc_on_1.4.2). Changes >>>>> I've made to CEP operators do not touch the checkpointing path, just >>>>> overloading the operator for a specific way of handling event time. >>>>> >>>>> We are hitting this in production, so I'm not sure it'll be feasible >>>>> to move to 1.6.0 immediately, but eventually yes. >>>>> >>>>> Thanks, >>>>> Shailesh >>>>> >>>>> On Wed, Sep 26, 2018 at 5:44 PM Dawid Wysakowicz < >>>>> dwysakow...@apache.org> wrote: >>>>> >>>>>> Hi Shailesh, >>>>>> >>>>>> Are you sure you are using version 1.4.2? Do you run a vanilla flink, >>>>>> or have you introduced some changes? I am asking cause the lines in >>>>>> stacktrace does not align with the source code for 1.4.2. >>>>>> >>>>>> Also it is a different exception than the one in the issue you've >>>>>> linked, so if it is a problem than it is definitely a different one. Last >>>>>> thing I would recommend upgrading to the newest version, as we rewritten >>>>>> the SharedBuffer implementation in 1.6.0. >>>>>> >>>>>> Best, >>>>>> >>>>>> Dawid >>>>>> >>>>>> On 26/09/18 13:50, Shailesh Jain wrote: >>>>>> >>>>>> Hi, >>>>>> >>>>>> I think I've hit this same issue on a 3 node standalone cluster >>>>>> (1.4.2) using HDFS (2.8.4) as state backend. >>>>>> >>>>>> 2018-09-26 17:07:39,370 INFO >>>>>> org.apache.flink.runtime.taskmanager.Task - >>>>>> Attempting >>>>>> to fail task externally SelectCepOperator (1/1) >>>>>> (3bec4aa1ef2226c4e0c5ff7b3860d340). >>>>>> 2018-09-26 17:07:39,370 INFO >>>>>> org.apache.flink.runtime.taskmanager.Task - >>>>>> SelectCepOperator (1/1) (3bec4aa1ef2226c4e0c5ff7b3860d340) switched from >>>>>> RUNNING to FAILED. >>>>>> AsynchronousException{java.lang.Exception: Could not materialize >>>>>> checkpoint 6 for operator SelectCepOperator (1/1).} >>>>>> at >>>>>> org.apache.flink.streaming.runtime.tasks.StreamTask$AsyncCheckpointRunnable.run(StreamTask.java:948) >>>>>> at >>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) >>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >>>>>> at >>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) >>>>>> at >>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) >>>>>> at java.lang.Thread.run(Thread.java:748) >>>>>> Caused by: java.lang.Exception: Could not materialize checkpoint 6 >>>>>> for operator SelectCepOperator (1/1). >>>>>> ... 6 more >>>>>> Caused by: java.util.concurrent.ExecutionException: >>>>>> java.lang.NullPointerException >>>>>> at java.util.concurrent.FutureTask.report(FutureTask.java:122) >>>>>> at java.util.concurrent.FutureTask.get(FutureTask.java:192) >>>>>> at >>>>>> org.apache.flink.util.FutureUtil.runIfNotDoneAndGet(FutureUtil.java:43) >>>>>> at >>>>>> org.apache.flink.streaming.runtime.tasks.StreamTask$AsyncCheckpointRunnable.run(StreamTask.java:894) >>>>>> ... 5 more >>>>>> Suppressed: java.lang.Exception: Could not properly cancel >>>>>> managed keyed state future. >>>>>> at >>>>>> org.apache.flink.streaming.api.operators.OperatorSnapshotResult.cancel(OperatorSnapshotResult.java:91) >>>>>> at >>>>>> org.apache.flink.streaming.runtime.tasks.StreamTask$AsyncCheckpointRunnable.cleanup(StreamTask.java:976) >>>>>> at >>>>>> org.apache.flink.streaming.runtime.tasks.StreamTask$AsyncCheckpointRunnable.run(StreamTask.java:939) >>>>>> ... 5 more >>>>>> Caused by: java.util.concurrent.ExecutionException: >>>>>> java.lang.NullPointerException >>>>>> at java.util.concurrent.FutureTask.report(FutureTask.java:122) >>>>>> at java.util.concurrent.FutureTask.get(FutureTask.java:192) >>>>>> at >>>>>> org.apache.flink.util.FutureUtil.runIfNotDoneAndGet(FutureUtil.java:43) >>>>>> at >>>>>> org.apache.flink.runtime.state.StateUtil.discardStateFuture(StateUtil.java:66) >>>>>> at >>>>>> org.apache.flink.streaming.api.operators.OperatorSnapshotResult.cancel(OperatorSnapshotResult.java:89) >>>>>> ... 7 more >>>>>> Caused by: java.lang.NullPointerException >>>>>> at >>>>>> org.apache.flink.cep.nfa.SharedBuffer$SharedBufferSerializer.serialize(SharedBuffer.java:954) >>>>>> at >>>>>> org.apache.flink.cep.nfa.SharedBuffer$SharedBufferSerializer.serialize(SharedBuffer.java:825) >>>>>> at >>>>>> org.apache.flink.cep.nfa.NFA$NFASerializer.serialize(NFA.java:888) >>>>>> at >>>>>> org.apache.flink.cep.nfa.NFA$NFASerializer.serialize(NFA.java:820) >>>>>> at >>>>>> org.apache.flink.runtime.state.heap.CopyOnWriteStateTableSnapshot.writeMappingsInKeyGroup(CopyOnWriteStateTableSnapshot.java:196) >>>>>> at >>>>>> org.apache.flink.runtime.state.heap.HeapKeyedStateBackend$1.performOperation(HeapKeyedStateBackend.java:390) >>>>>> at >>>>>> org.apache.flink.runtime.state.heap.HeapKeyedStateBackend$1.performOperation(HeapKeyedStateBackend.java:339) >>>>>> at >>>>>> org.apache.flink.runtime.io.async.AbstractAsyncCallableWithResources.call(AbstractAsyncCallableWithResources.java:75) >>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >>>>>> at >>>>>> org.apache.flink.util.FutureUtil.runIfNotDoneAndGet(FutureUtil.java:40) >>>>>> at >>>>>> org.apache.flink.streaming.runtime.tasks.StreamTask$AsyncCheckpointRunnable.run(StreamTask.java:894) >>>>>> ... 5 more >>>>>> [CIRCULAR REFERENCE:java.lang.NullPointerException] >>>>>> >>>>>> Any ideas on why I'm hitting this especially when this ( >>>>>> https://issues.apache.org/jira/browse/FLINK-7756) says it has been >>>>>> fixed in 1.4.2 ? >>>>>> >>>>>> On Sat, Nov 4, 2017 at 12:34 AM Federico D'Ambrosio < >>>>>> federico.dambro...@smartlab.ws> wrote: >>>>>> >>>>>>> Thank you very much for your steady response, Kostas! >>>>>>> >>>>>>> Cheers, >>>>>>> Federico >>>>>>> >>>>>>> 2017-11-03 16:26 GMT+01:00 Kostas Kloudas < >>>>>>> k.klou...@data-artisans.com>: >>>>>>> >>>>>>>> Hi Federico, >>>>>>>> >>>>>>>> Thanks for trying it out! >>>>>>>> Great to hear that your problem was fixed! >>>>>>>> >>>>>>>> The feature freeze for the release is going to be next week, and I >>>>>>>> would expect 1 or 2 more weeks testing. >>>>>>>> So I would say in 2.5 weeks. But this is of course subject to >>>>>>>> potential issues we may find during testing. >>>>>>>> >>>>>>>> Cheers, >>>>>>>> Kostas >>>>>>>> >>>>>>>> On Nov 3, 2017, at 4:22 PM, Federico D'Ambrosio < >>>>>>>> federico.dambro...@smartlab.ws> wrote: >>>>>>>> >>>>>>>> Hi Kostas, >>>>>>>> >>>>>>>> I just tried running the same job with 1.4-SNAPSHOT for 10 minutes >>>>>>>> and it didn't crash, so that was the same underlying issue of the JIRA >>>>>>>> you >>>>>>>> linked. >>>>>>>> >>>>>>>> Do you happen to know when it's expected the 1.4 stable release? >>>>>>>> >>>>>>>> Thank you very much, >>>>>>>> Federico >>>>>>>> >>>>>>>> 2017-11-03 15:25 GMT+01:00 Kostas Kloudas < >>>>>>>> k.klou...@data-artisans.com>: >>>>>>>> >>>>>>>>> Perfect! thanks a lot! >>>>>>>>> >>>>>>>>> Kostas >>>>>>>>> >>>>>>>>> On Nov 3, 2017, at 3:23 PM, Federico D'Ambrosio < >>>>>>>>> federico.dambro...@smartlab.ws> wrote: >>>>>>>>> >>>>>>>>> Hi Kostas, >>>>>>>>> >>>>>>>>> yes, I'm using 1.3.2. I'll try the current master and I'll get >>>>>>>>> back to you. >>>>>>>>> >>>>>>>>> 2017-11-03 15:21 GMT+01:00 Kostas Kloudas < >>>>>>>>> k.klou...@data-artisans.com>: >>>>>>>>> >>>>>>>>>> Hi Federico, >>>>>>>>>> >>>>>>>>>> I assume that you are using Flink 1.3, right? >>>>>>>>>> >>>>>>>>>> In this case, in 1.4 we have fixed a bug that seems similar to >>>>>>>>>> your case: >>>>>>>>>> https://issues.apache.org/jira/browse/FLINK-7756 >>>>>>>>>> >>>>>>>>>> Could you try the current master to see if it fixes your problem? >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> Kostas >>>>>>>>>> >>>>>>>>>> On Nov 3, 2017, at 3:12 PM, Federico D'Ambrosio < >>>>>>>>>> federico.dambro...@smartlab.ws> wrote: >>>>>>>>>> >>>>>>>>>> Could not find id for >>>>>>>>>> entry: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Federico D'Ambrosio >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Federico D'Ambrosio >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Federico D'Ambrosio >>>>>>> >>>>>> >>>>>> >>>>> >>