[
https://issues.apache.org/jira/browse/HBASE-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13663573#comment-13663573
]
Jimmy Xiang commented on HBASE-8585:
------------------------------------
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 number of attempts is not important here. For region assignments, each
task should be simple and quick to process. However, if you have tons of
regions in transition, it is possible there will be more events for more than
20 regions.
In your test, how many regions are in transition? How many regions are there
in total?
> 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