私は使用しています: MongoDB 1.6.4、Python 2.6.6、PyMongo 1.9、 Ubuntu 10.10MongoDB:2つのプロセスインスタンスでfindAndModifyを使用すると、「クライアントカーソル:: yieldは再帰ロックのb/cをロック解除できません」という警告が表示されます
「クライアントカーソル:: yieldは再帰ロックのb/cをロック解除できません」 2つのプロセスインスタンスでfindAndModifyを使用すると、非常に頻繁にログに警告が表示されます。 1つのプロセスのみを使用すると警告が表示されません。
どうすればこの問題を解決できますか?
* アップデート2013年3月8日*
今のようにこの問題に対する修正はありますか?
これは通常、クエリで使用されるフィールドにインデックスがないことを意味します。 – pingw33n
しかし、私はソートを使用していません。または結果がページングされる場合、私はインデックスを作成する必要がありますか? –
私はこの警告の技術的な詳細はわかりませんが、私の経験からクエリフィールドにインデックスを追加すると役立ちます。 findAndModifyのクエリ部分で使用されたフィールドにインデックスがあることを確認してください。 'db.collection.find().explain()'を実行して、インデックスを使用するかどうかを確認してください。 –
pingw33n