[
https://issues.apache.org/jira/browse/HBASE-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13663591#comment-13663591
]
Ted Yu commented on HBASE-8585:
-------------------------------
I got the RejectedExecutionException from one TestTableLockManager-output.txt
bq. We should not unroll the recursive call, which is meant to ensure all the
events for the same region to be processed in order.
The unrolling doesn't change the semantics of the current code.
The whole zkEventWorkersSubmit() is synchronized on regionsInProgress. Meaning
we don't release the lock during execution.
zkEventWorkerWaitingList is backed by LinkedHashMultimap which keeps put order
at retrieval time.
> AssignmentManager should handle RejectedExecutionException
> ----------------------------------------------------------
>
> Key: HBASE-8585
> URL: https://issues.apache.org/jira/browse/HBASE-8585
> Project: HBase
> Issue Type: Bug
> Reporter: Ted Yu
> Assignee: Ted Yu
> Attachments: 8585-v1.txt
>
>
> In test output, I noticed the following:
> {code}
> 2013-05-21 03:39:37,015 DEBUG [Thread-1446-EventThread]
> zookeeper.ZooKeeperWatcher(307): master:35255-0x13ec52b4ce30000 Received
> ZooKeeper Event, type=NodeDataChanged, state=SyncConnected,
> path=/hbase/region-in-transition/8b6ce00aafd483a6ed7a76425009ebf8
> 2013-05-21 03:39:37,015 ERROR [Thread-1446-EventThread]
> zookeeper.ClientCnxn$EventThread(521): Error while calling watcher
> java.util.concurrent.RejectedExecutionException
> at
> java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1768)
> at
> java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
> at
> java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
> at
> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:78)
> at
> org.apache.hadoop.hbase.master.AssignmentManager.zkEventWorkersSubmit(AssignmentManager.java:1136)
> at
> org.apache.hadoop.hbase.master.AssignmentManager.handleAssignmentEvent(AssignmentManager.java:1306)
> at
> org.apache.hadoop.hbase.master.AssignmentManager.nodeDataChanged(AssignmentManager.java:1095)
> at
> org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.process(ZooKeeperWatcher.java:338)
> at
> org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:519)
> at
> org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:495)
> {code}
> By default, ThreadPoolExecutor.AbortPolicy is used for zkEventWorkers,
> leading to the above exception.
> We should examine the calls to zkEventWorkersSubmit() and devise proper
> handling for RejectedExecutionException.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira