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

Appy updated HBASE-19319:
-------------------------
    Attachment: HBASE-19319.master.002.patch

> Fix bug in synchronizing over ProcedureEvent
> --------------------------------------------
>
>                 Key: HBASE-19319
>                 URL: https://issues.apache.org/jira/browse/HBASE-19319
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Appy
>            Assignee: Appy
>         Attachments: HBASE-19319.master.001.patch, 
> HBASE-19319.master.002.patch
>
>
> Following synchronizes over local variable rather than the original 
> ProcedureEvent object. Clearly a bug since this code block won't follow 
> exclusion with many of the synchronized methods in ProcedureEvent class.
> {code}
>  @Override
>   public void wakeEvents(final int count, final ProcedureEvent... events) {
>     final boolean traceEnabled = LOG.isTraceEnabled();
>     schedLock();
>     try {
>       int waitingCount = 0;
>       for (int i = 0; i < count; ++i) {
>         final ProcedureEvent event = events[i];
>         synchronized (event) {
>           if (!event.isReady()) {
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to