[SERVER-4617] make _pinValue error message when killCursors called during getMore better Created: 04/Jan/12 Updated: 11/Jul/16 Resolved: 01/Mar/12 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Usability |
| Affects Version/s: | 2.0.2 |
| Fix Version/s: | 2.1.1 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Aaron Staple | Assignee: | Aaron Staple |
| Resolution: | Done | Votes: | 0 |
| Labels: | pv1 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Operating System: | ALL |
| Participants: |
| Description |
|
The following assertion has cropped up in several cases:
FREE-3022 Simplest explanation is that a cursor is being killed while in use by a get more (the get more may or may not be yielding). We might want to make the assertion a little more readable. Also, three of the four cases above seemed to occur with the php driver and in the remaining case I couldn't tell which driver was used. So the cause could be a client side issue, either in the driver or the way the driver is being used. |
| Comments |
| Comment by auto [ 01/Mar/12 ] | ||||||
|
Author: {u'login': u'astaple', u'name': u'Aaron', u'email': u'aaron@10gen.com'}Message: | ||||||
| Comment by Aaron Staple [ 16/Feb/12 ] | ||||||
|
@eliot - Would it make sense to change the mongod error message to be more readable and not have a stack trace? | ||||||
| Comment by Eliot Horowitz (Inactive) [ 16/Feb/12 ] | ||||||
|
This is actually a driver bug. | ||||||
| Comment by Andreas Bernhardsson [ 15/Feb/12 ] | ||||||
|
Ok I see, I've posted some more info in | ||||||
| Comment by Kristina Chodorow (Inactive) [ 15/Feb/12 ] | ||||||
|
The _pinValue assertion is caused by a driver bug that is triggered when the server is slow. There have already been bugs filed against the PHP and Python drivers about this assertion. However, the assertion does not cause the server to slow down, it is just a symptom of server slowness. Do you have any monitoring that indicates why your servers are responding slowly? | ||||||
| Comment by Andreas Bernhardsson [ 13/Feb/12 ] | ||||||
|
I'm also experiencing this issue, it usually happens during high peak times and I have to restart the primary DB for the problem to go away. I'm using 2.0.2 (no sharding) and the 1.2.7 PHP driver, I even tried to switch to 1.2.8dev to see if the PHP-313 fix would solve the issue but the driver caused the server to become terrible slow and stop replicating. Is there any workaround to avoid this issue until this bug is resolved? | ||||||
| Comment by Ben Becker [ 03/Feb/12 ] | ||||||
Steps to reproduce:Set the max open fds to a low number (e.g. ulimit -n 256). Start a sharded cluster w/ replication (see start_test_cluster.sh). Enable replication and sharding on ns 'shardtest.shardcol'. Run the attached pinval_repro.php script about 300 times, e.g.:
The PHP script simply insert()s, find()s, and exhausts the cursor. Exceptions are ignored and reconnection is attempted. v2.0.2 will generally exhibit the _pinValue bug within one or two minutes, and the mongos instances will crash (likely due to |