[SERVER-17062] Make query execution robust to WriteConflictException Created: 26/Jan/15 Updated: 05/Feb/16 Resolved: 18/Mar/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying, Storage |
| Affects Version/s: | None |
| Fix Version/s: | 3.1.0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Andy Schwerin | Assignee: | Mathias Stearn |
| Resolution: | Done | Votes: | 0 |
| Labels: | WCE | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
It should be possible to continue queries in the face of WriteConflictException (WT_ROLLBACK) by treating them like yields. |
| Comments |
| Comment by Githook User [ 22/Oct/15 ] |
|
Author: {u'username': u'igorcanadi', u'name': u'Igor Canadi', u'email': u'icanadi@fb.com'}Message: This patch includes the following changes:
Signed-off-by: Ramon Fernandez <ramon@mongodb.com> |
| Comment by Igor Canadi [ 10/Aug/15 ] |
|
> The situations where unique indexes can contain duplicate entries are transient and should never be observable by a cursor. Hey Mathias, I actually ported this simplification to v3.0 branch in MongoRocks. However, we're seeing the assertion trigger (i.e. we're getting "Unique index cursor seeing multiple records for key") error message. Is this assumption also true in 3.0 branch or only in 3.1? |
| Comment by Githook User [ 17/Feb/15 ] |
|
Author: {u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}Message: |
| Comment by Githook User [ 13/Feb/15 ] |
|
Author: {u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}Message: |
| Comment by Githook User [ 13/Feb/15 ] |
|
Author: {u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}Message: The cursor now retains it's original position if a reposition method fails. Additionally, to simplify the code, cursors over unique indexes containing |
| Comment by Githook User [ 13/Feb/15 ] |
|
Author: {u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}Message: |
| Comment by Githook User [ 13/Feb/15 ] |
|
Author: {u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}Message: |
| Comment by Githook User [ 13/Feb/15 ] |
|
Author: {u'username': u'RedBeard0531', u'name': u'Mathias Stearn', u'email': u'mathias@10gen.com'}Message: It was using ensureIndex which is illegal inside of a WUOW. |