hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jimmy Xiang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-8585) AssignmentManager should handle RejectedExecutionException
Date Tue, 21 May 2013 23:26:20 GMT

    [ 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

Mime
View raw message