You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "LiJun (JIRA)" <ji...@apache.org> on 2019/08/08 12:44:00 UTC

[jira] [Created] (FLINK-13655) Caused by: java.io.IOException: Thread 'SortMerger spilling thread' terminated due to an exception

LiJun created FLINK-13655:
-----------------------------

             Summary: Caused by: java.io.IOException: Thread 'SortMerger spilling thread' terminated due to an exception
                 Key: FLINK-13655
                 URL: https://issues.apache.org/jira/browse/FLINK-13655
             Project: Flink
          Issue Type: Bug
          Components: API / Type Serialization System
    Affects Versions: 1.6.3
         Environment: {color:#e8bf6a}<properties>
{color}{color:#e8bf6a} <project.build.sourceEncoding>{color}UTF-8{color:#e8bf6a}</project.build.sourceEncoding>
{color}{color:#e8bf6a} <flink.version>{color}1.5.6{color:#e8bf6a}</flink.version>
{color}{color:#e8bf6a} <slf4j.version>{color}1.7.7{color:#e8bf6a}</slf4j.version>
{color}{color:#e8bf6a} <log4j.version>{color}1.2.17{color:#e8bf6a}</log4j.version>
{color}{color:#e8bf6a} <scala.binary.version>{color}2.11{color:#e8bf6a}</scala.binary.version>
{color}{color:#e8bf6a} <scala.version>{color}2.11.12{color:#e8bf6a}</scala.version>
{color}{color:#e8bf6a}</properties>{color}

{color:#e8bf6a}_parameters.setBoolean("recursive.file_{color:#333333}.enumeration",true){color}{color}
            Reporter: LiJun


Symptom:

There are two files (about 600MB) with ORC format in HDFS.My flink program can read and process single file sucessfully,whatever reading path is that file's parent folder OR file's full path. However,I put them together in the same folder and the following error occurs.So I suspect this is a bug in flink.

{color:#cc7832}val {color}configHadoop = {color:#cc7832}new {color}org.apache.hadoop.conf.Configuration()
configHadoop.set({color:#6a8759}"HADOOP_USER_NAME"{color}{color:#cc7832}, {color}{color:#6a8759}"user"{color})
configHadoop.set({color:#6a8759}"fs.defaultFS"{color}{color:#cc7832}, {color}{color:#6a8759}"xx.xxx.xx.xx"{color})
{color:#808080}
{color}{color:#808080}
{color}{color:#cc7832}val {color}env = ExecutionEnvironment.getExecutionEnvironment
{color:#cc7832}val {color}bTableEnv = TableEnvironment.getTableEnvironment(env)

{color:#cc7832}val {color}orcTableSource = OrcTableSource.builder()
 {color:#808080}// path to ORC file(s). NOTE: By default, directories are recursively scanned.
{color} .path(inPath)
 {color:#808080}// schema of ORC files
{color} .forOrcSchema({color:#6a8759}"struct<storage_time:String,storage_source_msg:String,rev_name:String,where2:String,rev_phone:String,bind_email:String,ord_pin:String,ord_tm:String>"{color})
 {color:#808080}// Hadoop configuration
{color} .withConfiguration(configHadoop)
 {color:#808080}// build OrcTableSource
{color} .build()

 

------------The following is stack info --------------------

Root exception
Timestamp: 2019-08-08, 20:15:05
java.lang.Exception: The data preparation for task 'CHAIN GroupReduce (GroupReduce at com.jd.risk.flink.analysis.framework.core.EventOfflineServiceFrameWork.startService(EventOfflineServiceFrameWork.scala:41)) -> Map (Key Extractor)' , caused an error: Error obtaining the sorted input: Thread 'SortMerger spilling thread' terminated due to an exception: Index: 97, Size: 17
 at org.apache.flink.runtime.operators.BatchTask.run(BatchTask.java:479)
 at org.apache.flink.runtime.operators.BatchTask.invoke(BatchTask.java:368)
 at org.apache.flink.runtime.taskmanager.Task.run(Task.java:712)
 at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: Error obtaining the sorted input: Thread 'SortMerger spilling thread' terminated due to an exception: Index: 97, Size: 17
 at org.apache.flink.runtime.operators.sort.UnilateralSortMerger.getIterator(UnilateralSortMerger.java:650)
 at org.apache.flink.runtime.operators.BatchTask.getInput(BatchTask.java:1108)
 at org.apache.flink.runtime.operators.GroupReduceDriver.prepare(GroupReduceDriver.java:99)
 at org.apache.flink.runtime.operators.BatchTask.run(BatchTask.java:473)
 ... 3 more
Caused by: java.io.IOException: Thread 'SortMerger spilling thread' terminated due to an exception: Index: 97, Size: 17
 at org.apache.flink.runtime.operators.sort.UnilateralSortMerger$ThreadBase.run(UnilateralSortMerger.java:831)
Caused by: java.lang.IndexOutOfBoundsException: Index: 97, Size: 17
 at java.util.ArrayList.rangeCheck(ArrayList.java:653)
 at java.util.ArrayList.get(ArrayList.java:429)
 at com.esotericsoftware.kryo.util.MapReferenceResolver.getReadObject(MapReferenceResolver.java:42)
 at com.esotericsoftware.kryo.Kryo.readReferenceOrNull(Kryo.java:805)
 at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:759)
 at org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.deserialize(KryoSerializer.java:315)
 at org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.deserialize(KryoSerializer.java:335)
 at org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.copy(KryoSerializer.java:350)
 at org.apache.flink.api.java.typeutils.runtime.TupleSerializerBase.copy(TupleSerializerBase.java:99)
 at org.apache.flink.api.scala.typeutils.TraversableSerializer.copy(TraversableSerializer.scala:84)
 at org.apache.flink.api.java.typeutils.runtime.TupleSerializerBase.copy(TupleSerializerBase.java:99)
 at org.apache.flink.api.java.typeutils.runtime.TupleSerializerBase.copy(TupleSerializerBase.java:99)
 at org.apache.flink.runtime.operators.sort.NormalizedKeySorter.writeToOutput(NormalizedKeySorter.java:519)
 at org.apache.flink.runtime.operators.sort.UnilateralSortMerger$SpillingThread.go(UnilateralSortMerger.java:1375)
 at org.apache.flink.runtime.operators.sort.UnilateralSortMerger$ThreadBase.run(UnilateralSortMerger.java:827)
CHAIN GroupReduce (GroupReduce at com.jd.risk.flink.analysis.framework.core.EventOfflineServiceFrameWork.startService(EventOfflineServiceFrameWork.scala:41)) -> Map (Key Extractor) (305/480)
Timestamp: 2019-08-08, 20:15:05 Location: LF-BCC-POD0-172-21-60-234.hadoop.jd.local:15837
java.lang.Exception: The data preparation for task 'CHAIN GroupReduce (GroupReduce at com.jd.risk.flink.analysis.framework.core.EventOfflineServiceFrameWork.startService(EventOfflineServiceFrameWork.scala:41)) -> Map (Key Extractor)' , caused an error: Error obtaining the sorted input: Thread 'SortMerger spilling thread' terminated due to an exception: Index: 97, Size: 17
 at org.apache.flink.runtime.operators.BatchTask.run(BatchTask.java:479)
 at org.apache.flink.runtime.operators.BatchTask.invoke(BatchTask.java:368)
 at org.apache.flink.runtime.taskmanager.Task.run(Task.java:712)
 at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: Error obtaining the sorted input: Thread 'SortMerger spilling thread' terminated due to an exception: Index: 97, Size: 17
 at org.apache.flink.runtime.operators.sort.UnilateralSortMerger.getIterator(UnilateralSortMerger.java:650)
 at org.apache.flink.runtime.operators.BatchTask.getInput(BatchTask.java:1108)
 at org.apache.flink.runtime.operators.GroupReduceDriver.prepare(GroupReduceDriver.java:99)
 at org.apache.flink.runtime.operators.BatchTask.run(BatchTask.java:473)
 ... 3 more
Caused by: java.io.IOException: Thread 'SortMerger spilling thread' terminated due to an exception: Index: 97, Size: 17
 at org.apache.flink.runtime.operators.sort.UnilateralSortMerger$ThreadBase.run(UnilateralSortMerger.java:831)
Caused by: java.lang.IndexOutOfBoundsException: Index: 97, Size: 17
 at java.util.ArrayList.rangeCheck(ArrayList.java:653)
 at java.util.ArrayList.get(ArrayList.java:429)
 at com.esotericsoftware.kryo.util.MapReferenceResolver.getReadObject(MapReferenceResolver.java:42)
 at com.esotericsoftware.kryo.Kryo.readReferenceOrNull(Kryo.java:805)
 at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:759)
 at org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.deserialize(KryoSerializer.java:315)
 at org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.deserialize(KryoSerializer.java:335)
 at org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.copy(KryoSerializer.java:350)
 at org.apache.flink.api.java.typeutils.runtime.TupleSerializerBase.copy(TupleSerializerBase.java:99)
 at org.apache.flink.api.scala.typeutils.TraversableSerializer.copy(TraversableSerializer.scala:84)
 at org.apache.flink.api.java.typeutils.runtime.TupleSerializerBase.copy(TupleSerializerBase.java:99)
 at org.apache.flink.api.java.typeutils.runtime.TupleSerializerBase.copy(TupleSerializerBase.java:99)
 at org.apache.flink.runtime.operators.sort.NormalizedKeySorter.writeToOutput(NormalizedKeySorter.java:519)
 at org.apache.flink.runtime.operators.sort.UnilateralSortMerger$SpillingThread.go(UnilateralSortMerger.java:1375)
 at org.apache.flink.runtime.operators.sort.UnilateralSortMerger$ThreadBase.run(UnilateralSortMerger.java:827)



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)