hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gopal V (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-10694) Remove synchronized input streams from Writable deserialization
Date Wed, 02 Jul 2014 07:16:25 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-10694?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gopal V updated HADOOP-10694:
-----------------------------

    Release Note: Remove invisible synchronization primitives from DataInputBuffer
          Status: Patch Available  (was: In Progress)

SortBuffer does its own synchronization with its spillLock implementation.

This particular synchronized block (which is invisible & inherited) will always only be
called from one thread because of the locked spill/collect thread.

> Remove synchronized input streams from Writable deserialization
> ---------------------------------------------------------------
>
>                 Key: HADOOP-10694
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10694
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: io
>            Reporter: Gopal V
>            Assignee: Gopal V
>         Attachments: HADOOP-10694.1.patch, writable-read-sync.png
>
>
> Writable deserialization is slowing down due to a synchronized block within DataInputBuffer$Buffer.
> ByteArrayInputStream::read() is synchronized and this shows up as a slow uncontested
lock.
> Hive ships with its own faster thread-unsafe version with hive.common.io.NonSyncByteArrayInputStream.
> !writable-read-sync.png!
> The DataInputBuffer and Writable deserialization should not require a lock per readInt()/read().



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message