Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-13864

Investigate changes in SERVER-34118: CurOp should record number of upserts performed



    • Task
    • Status: Closed
    • Major - P3
    • Resolution: Won't Do
    • None
    • 4.7.0
    • manual, Server
    • None



      Downstream Change Summary

      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.)


        Issue Links



              Unassigned Unassigned
              backlog-server-pm Backlog - Core Eng Program Management Team
              Jess Mokrzecki Jess Mokrzecki
              0 Vote for this issue
              5 Start watching this issue


                47 weeks, 1 day ago