[SERVER-27189] _getLastOpTime / _getDurableOpTime do not handle missing nodes gracefully Created: 28/Nov/16 Updated: 05/Apr/17 Resolved: 30/Dec/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 3.4.3, 3.5.2 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Eric Milkie | Assignee: | Jack Mulrow |
| Resolution: | Done | Votes: | 0 |
| Labels: | neweng | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Operating System: | ALL | ||||||||||||
| Backport Requested: |
v3.4
|
||||||||||||
| Sprint: | Repl 2016-12-12, Repl 2017-01-23 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
Due to the code logic in replsettest.js, we end up with misleading messages in jstest logs:
(from https://logkeeper.mongodb.org/build/5ade67af34d8a92ee80eec581556fa52/test/5828b62abe07c47d2a04181b ) |
| Comments |
| Comment by Githook User [ 06/Feb/17 ] |
|
Author: {u'username': u'jsmulrow', u'name': u'Jack Mulrow', u'email': u'jack.mulrow@mongodb.com'}Message: (cherry picked from commit e5699aab7fa3b04b8ce01ee35c038dafe45f13d9) |
| Comment by Githook User [ 30/Dec/16 ] |
|
Author: {u'username': u'jsmulrow', u'name': u'Jack Mulrow', u'email': u'jack.mulrow@mongodb.com'}Message: optime as OpTime check for PV0 |
| Comment by Judah Schvimer [ 02/Dec/16 ] |
|
For this ticket we want to check if the OpTimes to be returned by _getLastOpTime and _getDurableOpTime are empty. If they are, we want those functions to throw exceptions rather than return empty OpTimes. This will provide clearer error messages in awaitReplication, however awaitReplication will still print stack traces, which may confuse developers reading the logs. Additionally, to reduce this confusion, we should stop printing the error stack trace here, which is pretty useless. We still want to print the exception, just not the stack trace. |