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

mingjian updated HBASE-4044:
----------------------------

    Attachment:     (was: HLog.patch)

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

        

Reply via email to