微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有人遇到过10Gen支持的c#驱动程序的问题

我看到了很多这些错误

“现有连接被远程主机强行关闭

因为我从开源c#驱动程序切换到10Gen支持的驱动程序,所以在Mongo日志中.一旦发生此错误,我的网站就会无法响应.我觉得它与实现连接池的方式有关.请参阅下面的日志,我正在删除集合中的索引,删除所有项目,然后通过添加我想要的所有行来重新创建集合,然后重新编制集合索引.在完成所有操作后不久,我总是得到错误:’现有连接被远程主机强行关闭

[conn46] run command admin.$cmd { ismaster: 1 }
[conn46] query admin.$cmd ntoreturn:1 command: { ismaster: 1 } reslen:64 0ms
[conn46] query BtSearchCache.system.indexes reslen:1407 nreturned:7 0ms

drop indexes
[conn46] run command BtSearchCache.$cmd { deleteIndexes: "Board_41", index: "ix_QuickSearch" }
[conn46] CMD: dropIndexes BtSearchCache.Board_41
[conn46] dropIndexes: ix_QuickSearch not found
[conn46] query BtSearchCache.$cmd ntoreturn:1 command: { deleteIndexes: "Board_41", index: "ix_QuickSearch" } reslen:81 1ms

remove all data from collection
[conn46] remove  query: {} 1428ms

insert data (thousands of rows, omitted here)

[conn46] insert BtSearchCache.Board_41 0ms
[conn46] insert BtSearchCache.Board_41 0ms
[conn46] insert BtSearchCache.Board_41 1ms
[conn46] insert BtSearchCache.Board_41 0ms
[conn46] insert BtSearchCache.system.indexes 0ms

create indexes
[conn46] run command admin.$cmd { getlasterror: 1 }
[conn46] query admin.$cmd ntoreturn:1 command: { getlasterror: 1 } reslen:65 0ms

ERROR a few minutes later
[conn46] MessagingPort recv() errno:10054 An existing connection was forcibly closed by the remote host. 192.168.100.216:51111
[conn46] SocketException: 9001 socket exception
[conn46] end connection 192.168.100.216:51111

解决方法:

跟进:谷歌的mongodb用户组也提出了这个问题,大部分讨论都发生在那里.最后,我们发现特定查询导致mongo服务器崩溃(该错误已在当前版本的服务器中修复),而C#驱动程序只是报告导致的连接失败.这不是C#驱动程序中的错误,并且驱动程序无需修复.一旦服务器恢复,C#驱动程序将重新连接.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐