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

Todd Lipcon commented on HDFS-3280:
-----------------------------------

bq. Ah, so this explains what you guys thought might be an interaction with 
Nagle?

Yep, turned out to be much simpler :)

The patch failed on Hudson due to HDFS-3034 having removed the deprecated 
method. I'll commit this based on Aaron's +1 and based on my manual stress 
testing using HBase's HLog class, which uses this method.

No unit tests since it's hard to unit test for performance, and the hflush 
equivalent is already tested by TestMultithreadedHflush
                
> DFSOutputStream.sync should not be synchronized
> -----------------------------------------------
>
>                 Key: HDFS-3280
>                 URL: https://issues.apache.org/jira/browse/HDFS-3280
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs client
>    Affects Versions: 2.0.0
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Critical
>         Attachments: hdfs-3280.txt
>
>
> HDFS-895 added an optimization to make hflush() much faster by 
> unsynchronizing it. But, we forgot to un-synchronize the deprecated 
> {{sync()}} wrapper method. This makes the HBase WAL really slow on 0.23+ 
> since it doesn't take advantage of HDFS-895 anymore.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to