[SERVER-5131] We should abort() on assertions in oplog code Created: 28/Feb/12 Updated: 11/Jul/16 Resolved: 20/Oct/14 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 2.7.8 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Mathias Stearn | 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 |
|
Similar to journaling, I don't think we want to keep going if we are in a state where the database disagrees with the oplog. |
| Comments |
| Comment by Andy Schwerin [ 20/Oct/14 ] |
|
Resolved in conjunction with |
| Comment by Andy Schwerin [ 06/Jun/14 ] |
|
The most egregious case, "logOp but not primary" has been made fatal. However, we should be still more aggressive. The remaining massert should be made fatal, and the whole implementation should be wrapped in a try { } catch (...) { std::terminate() }, to ensure that no exceptions escape. |