[SERVER-13165] WriteBatchExecutor doesn't handle primary demotion when recovering from yield during inserts Created: 12/Mar/14 Updated: 11/Jul/16 Resolved: 19/Mar/14 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Write Ops |
| Affects Version/s: | 2.6.0-rc1 |
| Fix Version/s: | 2.6.0-rc2 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Andy Schwerin | Assignee: | Andy Schwerin |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Operating System: | ALL |
| Participants: |
| Description |
|
Any time a thread acquires the write lock to perform a user operation on a non-local database, it needs to confirm that the node is primary. When WBE::execInserts does periodic yielding, it is not performing this check, leading to potential fatal errors. |
| Comments |
| Comment by Githook User [ 19/Mar/14 ] |
|
Author: {u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}Message: (cherry picked from commit d9e4242d7f8c2631834a8b84cddf2f98cd1971b3) |
| Comment by Githook User [ 19/Mar/14 ] |
|
Author: {u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}Message: |
| Comment by Githook User [ 19/Mar/14 ] |
|
Author: {u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}Message: |
| Comment by Githook User [ 19/Mar/14 ] |
|
Author: {u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}Message: |
| Comment by Githook User [ 19/Mar/14 ] |
|
Author: {u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}Message: The goal of the refactoring is to clarify the control flow of the batch It is also intended that this refactoring will resolve memory leaks in the |
| Comment by Githook User [ 19/Mar/14 ] |
|
Author: {u'username': u'andy10gen', u'name': u'Andy Schwerin', u'email': u'schwerin@mongodb.com'}Message: The goal of the refactoring is to clarify the control flow of the batch It is also intended that this refactoring will resolve memory leaks in the |