[CDRIVER-679] mongoc_client_kill_cursor triggers Server Selection Created: 18/May/15 Updated: 19/Oct/16 Resolved: 11/Sep/15 |
|
| Status: | Closed |
| Project: | C Driver |
| Component/s: | libmongoc |
| Affects Version/s: | 1.2.0 |
| Fix Version/s: | 1.2-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Hannes Magnusson | Assignee: | A. Jesse Jiryu Davis |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Description |
|
Execute a query
|
| Comments |
| Comment by Githook User [ 11/Jan/16 ] | |
|
Author: {u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}Message: Also fix mongoc_client_kill_cursor, which I broke in the previous commit. | |
| Comment by Githook User [ 26/Oct/15 ] | |
|
Author: {u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}Message: Also fix mongoc_client_kill_cursor, which I broke in the previous commit. | |
| Comment by Githook User [ 11/Sep/15 ] | |
|
Author: {u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}Message: Also fix mongoc_client_kill_cursor, which I broke in the previous commit. | |
| Comment by A. Jesse Jiryu Davis [ 19/Jun/15 ] | |
|
I'm assigning this back to me and making it depend on | |
| Comment by Githook User [ 16/Jun/15 ] | |
|
Author: {u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}Message: | |
| Comment by A. Jesse Jiryu Davis [ 16/Jun/15 ] | |
|
Let's hold off on this for a few days until we can finish the blacklisting spec and implement it here. I think we can fix this bug much more easily once that's done. | |
| Comment by Hannes Magnusson [ 15/Jun/15 ] | |
|
Nice catch That
I also think mongoc_cluster_sendv () should be completely removed, replaced with _to_server (). As for the reconnect to the server on failure, should the driver really try to reconnect to the server to send the killcursor? How does that work in relation to SDAM+SS+upcoming-blacklisting? | |
| Comment by A. Jesse Jiryu Davis [ 14/Jun/15 ] | |
|
I wrote a mock replica set to test OP_KILLCURSORS six ways: 1. Single client, a replica set with a primary and 5 secondaries, send initial query and then destroy the cursor, kill-cursors is sent to proper secondary. Here's the tests: https://github.com/mongodb/mongo-c-driver/blob/dadcb96/tests/test-mongoc-cursor.c#L337-L346 Only 1 and 2 pass, despite bjori's patch, so this bug is still open. I think the problem is here: https://github.com/mongodb/mongo-c-driver/blob/1.2.0-dev/src/mongoc/mongoc-client.c#L451-L459 The client should try to reconnect in order to send OP_KILLCURSORS, although it shouldn't try for very long. If it can't reconnect it shouldn't fall back to sending OP_KILLCURSORS to the primary! | |
| Comment by Githook User [ 14/Jun/15 ] | |
|
Author: {u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}Message: Add (currently failing) test that kill-cursors is sent to | |
| Comment by Githook User [ 14/Jun/15 ] | |
|
Author: {u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}Message: | |
| Comment by Githook User [ 14/Jun/15 ] | |
|
Author: {u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}Message: | |
| Comment by Githook User [ 14/Jun/15 ] | |
|
Author: {u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}Message: Merge branch 'pr-240' into 1.2.0-dev
| |
| Comment by Githook User [ 14/Jun/15 ] | |
|
Author: {u'username': u'bjori', u'name': u'Hannes Magnusson', u'email': u'bjori@php.net'}Message: | |
| Comment by Hannes Magnusson [ 10/Jun/15 ] | |
| Comment by A. Jesse Jiryu Davis [ 08/Jun/15 ] | |
|
|