为什么MongoDB Java驱动程序在SemaphoresOut错误后没有恢复?

时间:2013-08-21 15:07:56

标签: java mongodb dropwizard

凌晨1点,我们的服务器收到大量请求,这可以理解为导致以下错误:

com.mongodb.DBPortPool$SemaphoresOut: Concurrent requests for database connection have exceeded limit of 500

然后出现这个错误:

com.mongodb.DBPortPool$ConnectionWaitTimeOut: Connection wait timeout after 120000 ms

5分钟后,CloudWatch显示请求恢复正常(极少数请求)但驱动程序仍然报告连接超时错误。 6个小时后,当我们注意到错误时,我们重新启动了服务器,一切都恢复正常,但让我想到可能是MongoDB驱动程序陷入困境状态的原因,并且在请求率下降时没有立即恢复(fyi we使用DropWizard / Jetty来处理API请求)。

0 个答案:

没有答案