【发布时间】:2021-05-06 13:29:15
【问题描述】:
我收到 com.mongodb.MongoWaitQueueFullException。 Mongo 版本 - 4.2 , Spring Data MongoDB 版本 - 3.6
如何增加池大小? 增加池大小对我有用吗,目前,我在 docker 容器内的单个节点上运行 mongo。
例外:-
org.springframework.data.mongodb.UncategorizedMongoDbException:太多线程已经在等待连接。已超过最大线程数 (maxWaitQueueSize) 500。嵌套异常是 com.mongodb.MongoWaitQueueFullException: 太多线程已经在等待连接。已超过最大线程数 (maxWaitQueueSize) 500。 在 org.springframework.data.mongodb.core.MongoExceptionTranslator.translateExceptionIfPossible(MongoExceptionTranslator.java:131) ~[spring-data-mongodb-2.0.6.RELEASE.jar!/:2.0.6.RELEASE] 在 org.springframework.data.mongodb.core.MongoTemplate.potentiallyConvertRuntimeException(MongoTemplate.java:2589) ~[spring-data-mongodb-2.0.6.RELEASE.jar!/:2.0.6.RELEASE] 在 org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:2457) ~[spring-data-mongodb-2.0.6.RELEASE.jar!/:2.0.6.RELEASE] 在 org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:2242) ~[spring-data-mongodb-2.0.6.RELEASE.jar!/:2.0.6.RELEASE] 在 org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:2225) ~[spring-data-mongodb-2.0.6.RELEASE.jar!/:2.0.6.RELEASE] 在 org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:770) ~[spring-data-mongodb-2.0.6.RELEASE.jar!/:2.0.6.RELEASE] 在 org.springframework.data.mongodb.core.MongoTemplate.doFindAndDelete(MongoTemplate.java:1920) ~[spring-data-mongodb-2.0.6.RELEASE.jar!/:2.0.6.RELEASE] 在 org.springframework.data.mongodb.core.MongoTemplate.findAllAndRemove(MongoTemplate.java:1905) ~[spring-data-mongodb-2.0.6.RELEASE.jar!/:2.0.6.RELEASE] 在 com.dynamediation.reporting.util.VSProcessorUtil.saveVoiceCallTypeCollection(VSProcessorUtil.java:37) ~[classes!/:1.0-SNAPSHOT] 在 com.dynamediation.reporting.util.VSProcessorUtil$$FastClassBySpringCGLIB$$888d3dd6.invoke() ~[classes!/:1.0-SNAPSHOT] 在 org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-5.0.5.RELEASE.jar!/:5.0.5.RELEASE] 在 org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:747) ~[spring-aop-5.0.5.RELEASE.jar!/:5.0.5.RELEASE] 在 org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.0.5.RELEASE.jar!/:5.0.5.RELEASE] 在 org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115) ~[spring-aop-5.0.5.RELEASE.jar!/:5.0.5.RELEASE] 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_282] 在 java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_282] 引起:com.mongodb.MongoWaitQueueFullException:太多线程已经在等待连接。已超过最大线程数 (maxWaitQueueSize) 500。 在 com.mongodb.connection.DefaultConnectionPool.createWaitQueueFullException(DefaultConnectionPool.java:277) ~[mongodb-driver-core-3.6.3.jar!/:na] 在 com.mongodb.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:96) ~[mongodb-driver-core-3.6.3.jar!/:na] 在 com.mongodb.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:89) ~[mongodb-driver-core-3.6.3.jar!/:na] 在 com.mongodb.connection.DefaultServer.getConnection(DefaultServer.java:80) ~[mongodb-driver-core-3.6.3.jar!/:na] 在 com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.getConnection(ClusterBinding.java:98) ~[mongodb-driver-core-3.6.3.jar!/:na] 在 com.mongodb.ClientSessionBinding$SessionBindingConnectionSource.getConnection(ClientSessionBinding.java:105) ~[mongodb-driver-3.6.3.jar!/:na] 在 com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:469) ~[mongodb-driver-core-3.6.3.jar!/:na] 在 com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:415) ~[mongodb-driver-core-3.6.3.jar!/:na] 在 com.mongodb.operation.FindOperation.execute(FindOperation.java:711) ~[mongodb-driver-core-3.6.3.jar!/:na] 在 com.mongodb.operation.FindOperation.execute(FindOperation.java:83) ~[mongodb-driver-core-3.6.3.jar!/:na] 在 com.mongodb.Mongo$3.execute(Mongo.java:826) ~[mongodb-driver-3.6.3.jar!/:na] 在 com.mongodb.MongoIterableImpl.execute(MongoIterableImpl.java:130) ~[mongodb-driver-3.6.3.jar!/:na] 在 com.mongodb.MongoIterableImpl.iterator(MongoIterableImpl.java:77) ~[mongodb-driver-3.6.3.jar!/:na] 在 org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:2440) ~[spring-data-mongodb-2.0.6.RELEASE.jar!/:2.0.6.RELEASE] ...省略了13个常用框架
【问题讨论】:
标签: java mongodb multithreading spring-boot spring-data-jpa