1

我们在 Windows 上将 mongodb (v2.0.6) 作为服务运行。我们创建了其他几个依赖于 mongodb 的服务,并为这些服务创建了对 mongodb 的适当依赖。随着我们 mongodb 中的集合的增长,我们开始看到我们的服务在启动时尝试连接到 mongodb 时出现故障。mongodb 似乎正在向 Windows SCM 报告它已经启动,但它似乎还没有准备好接受客户端连接。有没有其他人见过这种情况?我们目前有几个黑客来解决这个问题,但我试图找出这是否是 mongodb 中的一个错误,即,当它告诉 SCM 它已经启动时,它是否仍在异步初始化?

4

1 回答 1

0

mongod.exe 在作为服务启动时立即向 SCM 注册,但可能需要一些时间来预分配文件,尤其是本地数据库中的 oplog(如果它很大)。在控制台窗口中运行时,它会做同样的事情。加入副本集时的协商也可能需要一些时间。一旦将“等待连接...”记录到日志文件中,它就可以连接了。

如果您认为它的行为应该有所不同,例如,在 SCM 准备好接受连接之前保持 SERVICE_START_PENDING 状态,请提交一份 Jira 票证,并附上您的提案的详细信息。我们并没有与当前的行为结婚,但它确实与它在控制台窗口和其他操作系统中显示的行为相匹配。

于 2012-10-09T13:33:03.150 回答