[SERVER-13163] WriteBatchExecutor doesn't handle PageFaultException 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: | Blocker - P1 |
| Reporter: | Andy Schwerin | Assignee: | Andy Schwerin |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Operating System: | ALL | ||||||||||||
| Steps To Reproduce: | Reliably fails the small oplog jsCore with write commands suite on Windows DEBUG builders. |
||||||||||||
| Participants: | |||||||||||||
| Linked BF Score: | 0 | ||||||||||||
| Description |
|
All db record accesses that occur while a PageFaultRetryableSection is instantiated on a thread's stack must be wrapped in an exception handler for PageFaultException. WriteBatchExecutor::execInserts violates this rule, allowing PFE to escape up the stack, leading to server aborts when records are determined to not be in memory. Correct use of PFRS is as follows:
|
| 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 |