Hi:
    We found that the hlog sync to disk each time. 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 40%.

    Just see the HLog.patch.

Reply via email to