[ 
https://issues.apache.org/jira/browse/TEZ-3284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15305737#comment-15305737
 ] 

Gopal V commented on TEZ-3284:
------------------------------

{code}
 UnorderedOutSpiller {Reducer_3} [RUNNABLE]
*** org.apache.hadoop.io.compress.CompressorStream.write(int) 
CompressorStream.java:119
*** org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(int) 
FSDataOutputStream.java:50
*** java.io.DataOutputStream.writeByte(int) DataOutputStream.java:153
org.apache.hadoop.io.WritableUtils.writeVLong(DataOutput, long) 
WritableUtils.java:273
org.apache.hadoop.io.WritableUtils.writeVInt(DataOutput, int) 
WritableUtils.java:253
org.apache.tez.runtime.library.common.sort.impl.IFile$Writer.writeKVPair(byte[],
 int, int, byte[], int, int) IFile.java:415
org.apache.tez.runtime.library.common.sort.impl.IFile$Writer.append(DataInputBuffer,
 DataInputBuffer) IFile.java:387
org.apache.tez.runtime.library.common.writers.UnorderedPartitionedKVWriter.writePartition(int,
 UnorderedPartitionedKVWriter$WrappedBuffer, IFile$Writer, DataInputBuffer, 
DataInputBuffer) UnorderedPartitionedKVWriter.java:456
org.apache.tez.runtime.library.common.writers.UnorderedPartitionedKVWriter.access$1000(UnorderedPartitionedKVWriter,
 int, UnorderedPartitionedKVWriter$WrappedBuffer, IFile$Writer, 
DataInputBuffer, DataInputBuffer) UnorderedPartitionedKVWriter.java:80
org.apache.tez.runtime.library.common.writers.UnorderedPartitionedKVWriter$SpillCallable.callInternal()
 UnorderedPartitionedKVWriter.java:421
org.apache.tez.runtime.library.common.writers.UnorderedPartitionedKVWriter$SpillCallable.callInternal()
 UnorderedPartitionedKVWriter.java:380
org.apache.tez.common.CallableWithNdc.call() CallableWithNdc.java:36
java.util.concurrent.FutureTask.run() FutureTask.java:266
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) 
ThreadPoolExecutor.java:1142
java.util.concurrent.ThreadPoolExecutor$Worker.run() ThreadPoolExecutor.java:617
java.lang.Thread.run() Thread.java:745
{code}

> Synchronization for every byte in UnorderdKVWriter
> --------------------------------------------------
>
>                 Key: TEZ-3284
>                 URL: https://issues.apache.org/jira/browse/TEZ-3284
>             Project: Apache Tez
>          Issue Type: Bug
>    Affects Versions: 0.9.0
>            Reporter: Gopal V
>            Priority: Critical
>              Labels: Performance
>
> {code}
>     baos = new ByteArrayOutputStream();
>     dos = new DataOutputStream(baos);
>     keySerializer.open(dos);
>     valSerializer.open(dos);
> {code}
> This is a known performance issue as documented in HADOOP-10694
> Both ByteArrayOutputStream::write() and DataOutputStream::write() have lock 
> prefix calls in them, because they are object synchronized methods.
> Recommended solution is to replicate the Hive NonSync impls similar to 
> HADOOP-10694



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to