分享

使用phoenix查询Hbase报错RejectedExecutionException

一曲离殇 发表于 2017-7-26 14:25:09 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 5980


java.sql.SQLException: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@4e8df78d rejected from java.util.c
oncurrent.ThreadPoolExecutor@31832971[Shutting down, pool size = 26, active threads = 26, queued tasks = 0, completed tasks = 2220274]
at org.apache.phoenix.query.ConnectionQueryServicesImpl.metaDataCoprocessorExec(ConnectionQueryServicesImpl.java:1043)
at org.apache.phoenix.query.ConnectionQueryServicesImpl.metaDataCoprocessorExec(ConnectionQueryServicesImpl.java:1004)
at org.apache.phoenix.query.ConnectionQueryServicesImpl.getTable(ConnectionQueryServicesImpl.java:1276)
at org.apache.phoenix.schema.MetaDataClient.updateCache(MetaDataClient.java:415)
at org.apache.phoenix.schema.MetaDataClient.updateCache(MetaDataClient.java:358)
at org.apache.phoenix.schema.MetaDataClient.updateCache(MetaDataClient.java:354)
at org.apache.phoenix.compile.FromCompiler$BaseColumnResolver.createTableRef(FromCompiler.java:413)
at org.apache.phoenix.compile.FromCompiler$SingleTableColumnResolver.<init>(FromCompiler.java:288)
at org.apache.phoenix.compile.FromCompiler.getResolverForQuery(FromCompiler.java:189)
at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:357)
at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:338)
at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:246)
at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:241)
at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
at org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:240)
at org.apache.phoenix.jdbc.PhoenixPreparedStatement.executeQuery(PhoenixPreparedStatement.java:187)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at com.ailk.database.jdbc.wrapper.hbase.HbasePreparedStatement.executeQuery(HbasePreparedStatement.java:436)
at com.ailk.database.dao.impl.TableDAO.executeQuery(TableDAO.java:720)
at com.ailk.database.dao.impl.GeneralDAO.executeQuery(GeneralDAO.java:261)
at com.ailk.database.dao.impl.GeneralDAO.executeQuery(GeneralDAO.java:244)
at com.ailk.database.dao.impl.BaseDAO.queryList(BaseDAO.java:846)
at com.ailk.database.dao.impl.BaseDAO.queryList(BaseDAO.java:638)
at com.ailk.acctcomp.dbutil.daop.SingleAcctDBOperator.queryList(SingleAcctDBOperator.java:274)
at com.ailk.acctcomp.dbutil.daop.AcctDBOperator.queryList(AcctDBOperator.java:417)
at com.ailk.acctcomp.dbutil.daop.AcctDBOperator.queryList(AcctDBOperator.java:430)
at com.ailk.acctcomp.dbutil.AcctDBEntity.queryList(AcctDBEntity.java:385)
at com.ailk.bquery.tao.vb.hbase.GsmTAO.getAllCount(GsmTAO.java:126)
at com.ailk.bquery.dao.vb.VbDAO.isThreshold(VbDAO.java:286)
at com.ailk.bquery.bean.vb.GsmBean.queryBillList(GsmBean.java:36)
at com.ailk.bquery.service.billquerycdr.BillQueryCdrNewService.qryVoiceBillNew(BillQueryCdrNewService.java:94)
at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.ailk.service.invoker.ServiceInvoker.invoke(ServiceInvoker.java:379)
at com.ailk.service.invoker.ServiceInvoker.executeServiceMethod(ServiceInvoker.java:312)
at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.ailk.service.session.app.AppCallable.call(AppCallable.java:201)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@4e8df78d rejected from java.util.concurrent.ThreadPoolExecutor@31832971[Shutting down, pool si

at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2048)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:132)
at org.apache.hadoop.hbase.client.HTable.coprocessorService(HTable.java:1729)
at org.apache.hadoop.hbase.client.HTable.coprocessorService(HTable.java:1702)
at org.apache.phoenix.query.ConnectionQueryServicesImpl.metaDataCoprocessorExec(ConnectionQueryServicesImpl.java:1024)
... 44 more

已有(1)人评论

跳转到指定楼层
tntzbzc 发表于 2017-7-26 15:29:04
这应该是Java常见错误
线程池ThreadPoolExecutor 显示的shutdown()之后,再向线程池提交任务的时候。 如果你配置的拒绝策略是AbortPolicy的话,这个异常就会抛出来。
或则设置的任务缓存队列过小的时候,或者说, 你的线程池里面所有的线程都在干活(线程数== maxPoolSize),并且你的任务缓存队列也已经充满了等待的队列, 这个时候,你再向它提交任务,则会抛出这个异常。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条