4

私はこれらのエラーをたくさん見ています

「既存の接続がリモートホストによって強制的に閉じられました」

オープンソースのc#ドライバーから10Genでサポートされているドライバーに切り替えてから、Mongoログに記録されます。このエラーが発生すると、私のWebサイトが応答しなくなります。接続プールの実装方法と関係があると感じています。以下のログを参照してください。コレクションからインデックスを削除し、すべてのアイテムを削除してから、必要なすべての行を追加してコレクションを「再作成」し、コレクションのインデックスを再作成しています。その後しばらくすると、必ずエラーが発生します:「既存の接続がリモートホストによって強制的に閉じられました」

[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
4

2 に答える 2

3

フォローアップ:この質問はGoogleのmongodb-userグループでも行われ、ほとんどの議論はそこで行われました。結局、特定のクエリが原因でmongoサーバーがクラッシュし(現在のバージョンのサーバーではバグはすでに修正されています)、C#ドライバーは結果として生じた接続障害を報告しているだけであることがわかりました。これはC#ドライバーのバグではなく、ドライバーの修正は必要ありませんでした。サーバーが復旧すると、C#ドライバーは再接続します。

于 2011-01-04T15:04:21.567 に答える
1

理由はわかりませんが、この問題を解決するには、アプリケーションを再起動する必要があることはわかっています。そして、このエラーは、mongodbを再起動すると常に発生します。したがって、mongo dbを再起動するたびに、アプリケーションを再起動する必要があります(iisを使用していると思います)。

mongo vueについて知っている場合、mongovueが再起動されたときにこのツールもmongodbに接続できません。

これが問題の解決に役立つことを願っています。

于 2010-12-27T18:20:21.547 に答える