liuxian created SPARK-25776:
-------------------------------

             Summary: The disk write buffer size must be greater than 12.
                 Key: SPARK-25776
                 URL: https://issues.apache.org/jira/browse/SPARK-25776
             Project: Spark
          Issue Type: Bug
          Components: Spark Core
    Affects Versions: 3.0.0
            Reporter: liuxian


In {{UnsafeSorterSpillWriter.java}}, when we write a record to a spill file 
wtih {{ void write(Object baseObject, long baseOffset, int recordLength, long 
keyPrefix)}}, {{recordLength}} and {{keyPrefix}} will be written the disk write 
buffer first, and these will take 12 bytes, so the disk write buffer size must 
be greater than 12.

If {{diskWriteBufferSize}} is 10, it will print this exception info:

_java.lang.ArrayIndexOutOfBoundsException: 10_
 _at 
org.apache.spark.util.collection.unsafe.sort.UnsafeSorterSpillWriter.writeLongToBuffer
 (UnsafeSorterSpillWriter.java:91)_
 _at 
org.apache.spark.util.collection.unsafe.sort.UnsafeSorterSpillWriter.write(UnsafeSorterSpillWriter.java:123)_
 _at 
org.apache.spark.util.collection.unsafe.sort.UnsafeExternalSorter.spillIterator(UnsafeExternalSorter.java:498)_
 _at 
org.apache.spark.util.collection.unsafe.sort.UnsafeExternalSorter.spill(UnsafeExternalSorter.java:222)_
 _at org.apache.spark.memory.MemoryConsumer.spill(MemoryConsumer.java:65)_



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to