[
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)