[SERVER-35923] onShardVersionMismatch must catch exceptions in AutoGetCollection Created: 29/Jun/18 Updated: 06/Dec/22 Resolved: 12/Jul/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication, Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Matthew Russotto | Assignee: | [DO NOT USE] Backlog - Sharding Team |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Sharding
|
||||||||
| Operating System: | ALL | ||||||||
| Participants: | |||||||||
| Description |
|
onShardVersionMismatch in src/mongo/db/s/shard_filtering_metadata_refresh.cpp is marked noexcept, meaning any exception which escapes the context will terminate the server. AutoGetCollection can throw an exception if it can't get the collection lock for any reason, including step down. So a badly timed step down crashes the process. |
| Comments |
| Comment by Esha Maharishi (Inactive) [ 12/Jul/18 ] |
|
max.hirschhorn, agree, closing as dupe. |
| Comment by Max Hirschhorn [ 12/Jul/18 ] |
|
matthew.russotto, esha.maharishi, I believe this ticket has identified the same issue that's already been reported in |