You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (JIRA)" <ji...@apache.org> on 2016/11/01 09:15:58 UTC

[jira] [Commented] (HBASE-16890) Analyze the performance of AsyncWAL and fix the same

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

Duo Zhang commented on HBASE-16890:
-----------------------------------

The basic idea is

1. It is harmless to schedule redundant consumer task.
2. We will not schedule consumer task if already scheduled. This could be achieved by using compareAndSet on an AtomicBoolean.
3. If no lock, then data race may occur when we set consumerScheduled to false. This could be solved by check->setFalse->recheck.
4. writerBroken, waitingRoll can only be changed in consume thread and They are not very important for append and sync, so I make them volatile and acess them in append and sync directly. In waitForSafePoint and consume, they are still accessed under the protection of lock.

> Analyze the performance of AsyncWAL and fix the same
> ----------------------------------------------------
>
>                 Key: HBASE-16890
>                 URL: https://issues.apache.org/jira/browse/HBASE-16890
>             Project: HBase
>          Issue Type: Sub-task
>          Components: wal
>    Affects Versions: 2.0.0
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 2.0.0
>
>         Attachments: AsyncWAL_disruptor.patch, HBASE-16890-remove-contention.patch, Screen Shot 2016-10-25 at 7.34.47 PM.png, Screen Shot 2016-10-25 at 7.39.07 PM.png, Screen Shot 2016-10-25 at 7.39.48 PM.png, async.svg, classic.svg, contention.png, contention_defaultWAL.png
>
>
> Tests reveal that AsyncWAL under load in single node cluster performs slower than the Default WAL. This task is to analyze and see if we could fix it.
> See some discussions in the tail of JIRA HBASE-15536.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)