[
https://issues.apache.org/jira/browse/HBASE-19319?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16267907#comment-16267907
]
Hudson commented on HBASE-19319:
--------------------------------
FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #4128 (See
[https://builds.apache.org/job/HBase-Trunk_matrix/4128/])
HBASE-19319 Fix bug in synchronizing over ProcedureEvent (appy: rev
f8867166178e76598393437baac3849f4943ff16)
* (edit)
hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.java
* (edit)
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
* (edit)
hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.java
* (edit)
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
* (edit)
hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
* (edit)
hbase-server/src/main/java/org/apache/hadoop/hbase/master/locking/LockProcedure.java
* (edit)
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.java
* (edit)
hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureEvent.java
* (edit)
hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureScheduler.java
* (edit)
hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestMasterProcedureEvents.java
* (edit)
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.java
* (edit)
hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureEvents.java
> 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
> Fix For: 2.0.0-beta-1
>
> 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)