Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-17805

InputProcessorUtil doesn't handle indexes for multiple inputs operators correctly

    XMLWordPrintableJSON

Details

    Description

      This can cause ArrayIndexOutOfBound exception when input gates passed to InputProcessorUtil#createCheckpointedInputGatePair have lower IDs in the second input compared to input gates from the first one.

      Caused by: java.lang.ArrayIndexOutOfBoundsException: 7
      	at org.apache.flink.streaming.runtime.io.CheckpointBarrierUnaligner$ThreadSafeUnaligner.notifyBufferReceived(CheckpointBarrierUnaligner.java:328)
      	at org.apache.flink.runtime.io.network.partition.consumer.LocalInputChannel.getNextBuffer(LocalInputChannel.java:218)
      	at org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.waitAndGetNextData(SingleInputGate.java:637)
      	at org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.getNextBufferOrEvent(SingleInputGate.java:615)
      	at org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.pollNext(SingleInputGate.java:603)
      	at org.apache.flink.runtime.taskmanager.InputGateWithMetrics.pollNext(InputGateWithMetrics.java:105)
      	at org.apache.flink.streaming.runtime.io.CheckpointedInputGate.pollNext(CheckpointedInputGate.java:110)
      	at org.apache.flink.streaming.runtime.io.StreamTaskNetworkInput.emitNext(StreamTaskNetworkInput.java:136)
      	at org.apache.flink.streaming.runtime.io.StreamTwoInputProcessor.processInput(StreamTwoInputProcessor.java:178)
      	at org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:341)
      	at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxStep(MailboxProcessor.java:206)
      	at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:196)
      	at org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:553)
      	at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:526)
      	at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:713)
      	at org.apache.flink.runtime.taskmanager.Task.run(Task.java:539)
      	at java.lang.Thread.run(Thread.java:748)
      

      Attachments

        Issue Links

          Activity

            People

              pnowojski Piotr Nowojski
              pnowojski Piotr Nowojski
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: