在两个流程实例中使用findAndModify时发出警告

在两个流程实例中使用findAndModify时发出警告

本文介绍了MongoDB:获取"Client Cursor :: yield无法解锁递归锁的b/c";在两个流程实例中使用findAndModify时发出警告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用:MongoDB 1.6.4,Python 2.6.6,PyMongo 1.9,Ubuntu 10.10

I'm using:MongoDB 1.6.4, Python 2.6.6, PyMongo 1.9, Ubuntu 10.10

我收到客户端光标::收益无法解锁递归锁的账单"在两个流程实例中使用findAndModify时,经常在我的日志中发出警告.当我只使用一个进程时,不会出现警告.

I'm getting "Client Cursor::yield can't unlock b/c of recursive lock"warning in my logs very often when use findAndModify in two process instances.When I use only one process warning doesn't appear.

我该如何解决?

** 2013年3月8日更新**

**Update 8 March 2013 **

到目前为止,是否已解决此问题?

Is there a fix to this problem as of now?

推荐答案

我不知道这个的技术细节 警告,但根据我的经验, 查询字段上的索引会有所帮助.查看 您在其中使用的字段上有索引 查询findAndModify的一部分.也跑 db.collection.find().explain() 检查它是否使用索引.

I don't know tech details of this warning but from my experience adding index on the query field helps. check you have index on fields that used in query part of findAndModify. also run db.collection.find().explain() to check if it uses the index.

感谢帮助解决此问题的 pingw33n .

Thanks to the pingw33n who help solve this question.

这篇关于MongoDB:获取"Client Cursor :: yield无法解锁递归锁的b/c";在两个流程实例中使用findAndModify时发出警告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 04:28