Details
-
Task
-
Status: Closed
-
Major - P3
-
Resolution: Won't Do
-
None
-
None
Description
Description
In the explain output wouldInsert boolean flag is replaced with nWouldUpsert counter indicating number of documents upserted during update. This counter can be only 1 or 0.
In mongod and mongos logs upsert boolean flag is replaced with nUpserted counter indicating number of documents upserted during update. On mongod this counter is always 1 or 0 (because each individual update is logged separately). On mongos this counter can be larger than 1 if update is batched.
Description of Linked Ticket
Currently, update operations set a boolean flag in CurOp when they produce an upsert. This is sufficient on mongoD, since we log and profile each of the individual operations from the update command separately, and so there can only be at most one upsert per op.
However, we are now logging slow ops on mongoS as well (SERVER-14900), which dispatches writes in batches and reports the aggregated results; there may therefore be multiple upserts per op. Setting the upserted boolean results in a logline which reads upsert:1, which may be highly misleading if more than a single upsert was performed.
We should replace the upsert bool in CurOp with an integer nUpserted and log the actual number of documents upserted, on both mongoD and mongoS.
Scope of changes
Impact to Other Docs
MVP (Work and Date)
Resources (Scope or Design Docs, Invision, etc.)
Attachments
Issue Links
- documents
-
SERVER-34118 CurOp should record number of upserts performed
-
- Closed
-