[ https://issues.apache.org/jira/browse/HBASE-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13663787#comment-13663787 ]
chunhui shen commented on HBASE-8585: ------------------------------------- {code} ThreadPoolExecutor: public void execute(Runnable command) { if (command == null) throw new NullPointerException(); if (poolSize >= corePoolSize || !addIfUnderCorePoolSize(command)) { if (runState == RUNNING && workQueue.offer(command)) { if (runState != RUNNING || poolSize == 0) ensureQueuedTaskHandled(command); } else if (!addIfUnderMaximumPoolSize(command)) reject(command); // is shutdown or saturated } } {code} >From the above code, I think the runState != RUNNING, it means we have >shutdown the ThreadPoolExecutor, is master in stopping, if so, we don't need >handle RejectedExecutionException. > 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, 8585-v3.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