[SERVER-15583] warning: ClientCursor::staticYield can't unlock b/c of recursive lock Created: 09/Oct/14 Updated: 19/Jul/15 Resolved: 09/Jun/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | 2.6.4 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Luca casali | Assignee: | Unassigned |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Operating System: | ALL | ||||||||||||
| Steps To Reproduce: | Fill a collection with lots of records. Create at least 3 indexes and try to do a find a modify repeatedly (high frequence) that is covered completly by only one index of the 3 you've created. |
||||||||||||
| Participants: | |||||||||||||
| Description |
|
After migrating 2.6 node in our replicaset it starts filling logs files up at an extraordinary rate. I get many "warning: ClientCursor::staticYield can't unlock b/c of recursive" log messages every few milliseconds. The problem it seems related to the query plan executor. Sometimes it does not use the right index and obviously it take to much time. This problem is filling up our logs. |
| Comments |
| Comment by Leif Mortenson [ 16/Jul/15 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
We are also having this problem. I read the recommendation to use hint. But how do you do that with a findAndModify query? , "$hint": { t: 1, bt: -1 }}, update: {$set: {xyz:1}} } ); But this results in: , $hint: { t: 1.0, bt: -1.0 } }", Of course a standard find works correctly: , "$hint": { t: 1, bt: -1 }} ); We are running 2.6.10. Thanks in advance | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Pasette (Inactive) [ 08/Jun/15 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
tuerkben@adobe.com, please go ahead and create a new commercial support ticket for this issue. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ilyas Türkben [ 08/Jun/15 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
We are also having similar warnings like the following in MongoDB 2.6.7:
This is an AEM instance. Should we open a new JIRA issue ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Manan Shah [ 29/May/15 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Thank you. Tried a bunch of combination of different indexes including the one you suggested. The actual index that the plan is honoring is only when there's a index on {"r.w" : 1}. No hint is required for this. When added the index for {s:1, r.w:1} and tried to impose it with the hint the query plan turned bad plus it never resolved the original problem
This is the plan when I tried to impose the composite index with the hint:
Note that at this point the MongoDB version has also been upgraded to 2.6.8 from the previous 2.6.3 when we first encountered this issue. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ramon Fernandez Marina [ 28/May/15 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
manan@indeed.com, if 2.6.8 doesn't fix your issue then you're running into a different problem. My guess is that you're running into The suggested workaround is to use a hint(); in your case you may want to try with indexes {s:1} and {s:1, r.w:1} for example. If this doesn't help please open a separate ticket and provide details about your indexes and full mongod logs when experiencing the slow queries. Thanks, | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Manan Shah [ 27/May/15 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hello
Please suggest a fix. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ramon Fernandez Marina [ 12/Dec/14 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Thanks for letting us know lucacasali. Glad to hear that 2.6.6 fixed the problem. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Luca casali [ 11/Dec/14 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Sorry for the late answer we got a very busy time. Issue we had has been solved by 2.6.6 se installed yestarday. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by J Rassi [ 04/Dec/14 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
A sidenote: work is being done in | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ramon Fernandez Marina [ 04/Dec/14 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
lucacasali, we haven't heard back from you for some time. Is this still an issue for you? If so, can you please provide the information requested above? Note also that a 2.6.6-rc0 release candidate was published earlier this week with more improvements in this area, so it might be worth trying to test this version as well. Thanks, | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Pasette (Inactive) [ 10/Oct/14 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hi Luca,
If you have a test environment which is showing this behavior, could you also try this query with 2.6.5 which just came out? There are a number of query optimizer fixes in this release. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Luca casali [ 09/Oct/14 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
All the logs we have contain find and modify query. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Luca casali [ 09/Oct/14 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I missed an import details it appends only with findandmodify query |