-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: Write Ops
-
None
-
Query Execution
There are a few improvements to the update path for legacy writes (see receivedUpdate in instance.cpp) which we should consider.
- There is a separate WriteConflictException retry loop for the collection creation case, i.e. upsert into an empty collection. We should be able to consolidate this into a single retry loop.
- The catch block for WriteConflictException logs and then re-throws the exception if it is a multi-update. The UpdateStage, however, should be responsible for catching WriteConflictException in the multi-update case.
- is related to
-
SERVER-17276 WriteConflictException retry loops needed for collection creation on upsert
- Closed