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

ArrayIndexOutOfBoundsException in watermark processing

    XMLWordPrintableJSON

Details

    Description

      After upgrading a job from Flink 1.16.1 to 1.17.0, my task managers throw the following exception:

       

       

      java.lang.ArrayIndexOutOfBoundsException: Index -2147483648 out of bounds for length 5
      	at org.apache.flink.streaming.runtime.watermarkstatus.HeapPriorityQueue.removeInternal(HeapPriorityQueue.java:155)
      	at org.apache.flink.streaming.runtime.watermarkstatus.HeapPriorityQueue.remove(HeapPriorityQueue.java:100)
      	at org.apache.flink.streaming.runtime.watermarkstatus.StatusWatermarkValve$InputChannelStatus.removeFrom(StatusWatermarkValve.java:300)
      	at org.apache.flink.streaming.runtime.watermarkstatus.StatusWatermarkValve$InputChannelStatus.access$200(StatusWatermarkValve.java:266)
      	at org.apache.flink.streaming.runtime.watermarkstatus.StatusWatermarkValve.markWatermarkUnaligned(StatusWatermarkValve.java:222)
      	at org.apache.flink.streaming.runtime.watermarkstatus.StatusWatermarkValve.inputWatermarkStatus(StatusWatermarkValve.java:140)
      	at org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.processElement(AbstractStreamTaskNetworkInput.java:153)
      	at org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.emitNext(AbstractStreamTaskNetworkInput.java:110)
      	at org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
      	at org.apache.flink.streaming.runtime.io.StreamMultipleInputProcessor.processInput(StreamMultipleInputProcessor.java:85)
      	at org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:550)
      	at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:231)
      	at org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:839)
      	at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:788)
      	at org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:952)
      	at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:931)
      	at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:745)
      	at org.apache.flink.runtime.taskmanager.Task.run(Task.java:562)
      	at java.base/java.lang.Thread.run(Unknown Source)

      I never saw this before. The job has multiple Kafka inputs, but doesn't use watermark alignment.

       

       

      Initially reported on Slack, where a relation to FLINK-28853 was suspected.

      Attachments

        Issue Links

          Activity

            People

              wanglijie Lijie Wang
              michael.helmling Michael Helmling
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: