-
Type:
Bug
-
Resolution: Incomplete
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Replication
-
ALL
-
200
-
None
-
None
-
None
-
None
-
None
-
None
-
None
When constructing a new POS , the new instance is created in place when calling _insertNewInstance. When the insertion fails, the coordinator is destroyed without being interrupted.
That can generate issues because some coordinators expect to be interrupted before being destroyed. Examples: the sharding DDL coordinators ( fulfill promises on interruption and invariant on destruction ) and the config server coordinator ( fulfill promise and invariant on destruction).
Adding a try-catch on the linked codepath and interrupting the instance before re-throwing the exception would avoid this kind of server crashes.