Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-18105

LZ4 failed to decompress a stream of shuffled data

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.0.1, 3.1.1
    • None
    • Spark Core
    • None

    Description

      When lz4 is used to compress the shuffle files, it may fail to decompress it as "stream is corrupt"

      Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: Task 92 in stage 5.0 failed 4 times, most recent failure: Lost task 92.3 in stage 5.0 (TID 16616, 10.0.27.18): java.io.IOException: Stream is corrupted
      	at org.apache.spark.io.LZ4BlockInputStream.refill(LZ4BlockInputStream.java:220)
      	at org.apache.spark.io.LZ4BlockInputStream.available(LZ4BlockInputStream.java:109)
      	at java.io.BufferedInputStream.read(BufferedInputStream.java:353)
      	at java.io.DataInputStream.read(DataInputStream.java:149)
      	at com.google.common.io.ByteStreams.read(ByteStreams.java:828)
      	at com.google.common.io.ByteStreams.readFully(ByteStreams.java:695)
      	at org.apache.spark.sql.execution.UnsafeRowSerializerInstance$$anon$3$$anon$1.next(UnsafeRowSerializer.scala:127)
      	at org.apache.spark.sql.execution.UnsafeRowSerializerInstance$$anon$3$$anon$1.next(UnsafeRowSerializer.scala:110)
      	at scala.collection.Iterator$$anon$13.next(Iterator.scala:372)
      	at scala.collection.Iterator$$anon$11.next(Iterator.scala:328)
      	at org.apache.spark.util.CompletionIterator.next(CompletionIterator.scala:30)
      	at org.apache.spark.InterruptibleIterator.next(InterruptibleIterator.scala:43)
      	at scala.collection.Iterator$$anon$11.next(Iterator.scala:328)
      	at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIterator.sort_addToSorter$(Unknown Source)
      	at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIterator.processNext(Unknown Source)
      	at org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)
      	at org.apache.spark.sql.execution.WholeStageCodegenExec$$anonfun$8$$anon$1.hasNext(WholeStageCodegenExec.scala:370)
      	at org.apache.spark.sql.execution.datasources.DynamicPartitionWriterContainer.writeRows(WriterContainer.scala:397)
      	at org.apache.spark.sql.execution.datasources.InsertIntoHadoopFsRelationCommand$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply(InsertIntoHadoopFsRelationCommand.scala:143)
      	at org.apache.spark.sql.execution.datasources.InsertIntoHadoopFsRelationCommand$$anonfun$run$1$$anonfun$apply$mcV$sp$1.apply(InsertIntoHadoopFsRelationCommand.scala:143)
      	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:70)
      	at org.apache.spark.scheduler.Task.run(Task.scala:86)
      	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:274)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      

      https://github.com/jpountz/lz4-java/issues/89

      Attachments

        1. TestWeightedGraph.java
          3 kB
          Cameron Todd

        Issue Links

          Activity

            People

              Unassigned Unassigned
              davies Davies Liu
              Votes:
              14 Vote for this issue
              Watchers:
              51 Start watching this issue

              Dates

                Created:
                Updated: