[
https://issues.apache.org/jira/browse/HBASE-4044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13060423#comment-13060423
]
mingjian commented on HBASE-4044:
---------------------------------
yep
> [performance]decrease IO calls when flush hlog
> ----------------------------------------------
>
> Key: HBASE-4044
> URL: https://issues.apache.org/jira/browse/HBASE-4044
> Project: HBase
> Issue Type: Improvement
> Components: performance, regionserver
> Reporter: mingjian
> Assignee: mingjian
> Fix For: 0.90.4
>
> Attachments: HLog-trunk-v1.patch
>
>
> We found that the hlog flush to disk would block other write threads.
> When one thread exec "doWrite(info, logKey, edit);", the others wait for
> "updateLock" in HLog.java.
> Why not the others add their edits into a list and wait. When sync's
> time, the whole list sync to disk once. I think it will decrease the IO
> calls.
> So Maybe we will make two lists for edits. Each thread write to the
> "waledits" and wait for "updateLock". Each thread can copy the "waledits" to
> "flushedits" and flush the "flushedits" to disk once it gets "updateLock".
> In my test, it can increase the write speed of 100% when I set
> "hbase.regionserver.handler.count"=100.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira