luojiangyu created FLINK-14087:
----------------------------------

             Summary: throws java.lang.ArrayIndexOutOfBoundsException  when 
emiting the data using RebalancePartitioner. 
                 Key: FLINK-14087
                 URL: https://issues.apache.org/jira/browse/FLINK-14087
             Project: Flink
          Issue Type: Bug
          Components: Runtime / Network
    Affects Versions: 1.9.0, 1.8.1, 1.8.0
            Reporter: luojiangyu
         Attachments: image-2019-09-16-17-17-55-097.png

There is the condition the RecordWriter sharing the ChannelSelector instance.

When two RecordWriter instance shared the same ChannelSelector Instance , It 
may throws 

java.lang.ArrayIndexOutOfBoundsException .  For example,  two recordWriter 
instance shared the RebalancePartitioner instance. the RebalancePartitioner 
instance setup 2 number of Channels when the first RecordWriter initializing, 
next the some RebalancePartitioner instance setup 3 number of When the second 
RecordWriter initializing. this cause throw ArrayIndexOutOfBoundsException when 
the first RecordWriter instance emits the data.

The Exception likes
|java.lang.RuntimeException: 2 at 
org.apache.flink.streaming.runtime.io.RecordWriterOutput.pushToRecordWriter(RecordWriterOutput.java:112)
 at 
org.apache.flink.streaming.runtime.io.RecordWriterOutput.collect(RecordWriterOutput.java:91)
 at 
org.apache.flink.streaming.runtime.io.RecordWriterOutput.collect(RecordWriterOutput.java:47)
 at 
org.apache.flink.streaming.runtime.tasks.OperatorChain$BroadcastingOutputCollector.collect(OperatorChain.java:673)
 at 
org.apache.flink.streaming.runtime.tasks.OperatorChain$BroadcastingOutputCollector.collect(OperatorChain.java:617)
 at 
org.apache.flink.streaming.api.operators.AbstractStreamOperator$CountingOutput.collect(AbstractStreamOperator.java:726)
 at 
org.apache.flink.streaming.api.operators.AbstractStreamOperator$CountingOutput.collect(AbstractStreamOperator.java:699)
 at 
org.apache.flink.streaming.api.operators.StreamSourceContexts$NonTimestampContext.collect(StreamSourceContexts.java:104)
 at 
com.pdd.bigdata.flink.demo.wordcount.case3.StateTest$Source.run(StateTest.java:107)
 at 
org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:94) 
at 
org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:57) 
at 
org.apache.flink.streaming.runtime.tasks.SourceStreamTask.run(SourceStreamTask.java:97)
 at 
org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:302) 
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:734) at 
java.lang.Thread.run(Thread.java:748) Caused by: 
java.lang.ArrayIndexOutOfBoundsException: 2 at 
org.apache.flink.runtime.io.network.api.writer.RecordWriter.getBufferBuilder(RecordWriter.java:255)
 at 
org.apache.flink.runtime.io.network.api.writer.RecordWriter.copyFromSerializerToTargetChannel(RecordWriter.java:177)
 at 
org.apache.flink.runtime.io.network.api.writer.RecordWriter.emit(RecordWriter.java:162)
 at 
org.apache.flink.runtime.io.network.api.writer.RecordWriter.emit(RecordWriter.java:128)
 at 
org.apache.flink.streaming.runtime.io.RecordWriterOutput.pushToRecordWriter(RecordWriterOutput.java:109)
 ... 14 more|



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to