Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-22217

Remove large number of document will block the bulkOperation

    • Type: Icon: Question Question
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Concurrency
    • Environment:
      MongoDB version: 3.0.5
      C++ driver version: 1.0.1
      OS: CentOS Linux release 7.1.1503

      When removing 23387 documents from the collection which has 250K documents), The BulkOperation was block until the remove is done.
      I didn't set the $isolated for this remove operation.

      Following is the log regarding the remove operation.

      2016-01-17T00:05:05.965-0500 I WRITE [conn1] remove xxx.app query: { app.start_time:

      { $lt: new Date(1453003200000), $lt: new Date(1453003200000) }

      } ndeleted:23387 keyUpdates:0 writeConflicts:0 numYields:194 locks:{ Global: { acquireCount:

      { r: 195, w: 195 }

      }, Database: { acquireCount:

      { w: 195 }

      }, Collection: { acquireCount:

      { w: 195 }

      } } 2630ms
      2016-01-17T00:05:05.965-0500 I COMMAND [conn1] command xxx.$cmd command: delete { delete: "app", deletes: [ { q: { app.start_time:

      { $lt: new Date(1453003200000), $lt: new Date(1453003200000) }

      }, limit: 0 } ], ordered: true, writeConcern: {} } keyUpdates:0 writeConflicts:0 numYields:0 reslen:40 locks:{ Global: { acquireCount:

      { r: 196, w: 196 }

      }, Database: { acquireCount:

      { w: 196 }

      }, Collection: { acquireCount:

      { w: 196 }

      } } 2639ms

      Size BulkOperation: 100 operations per BulkOperationBuilder.

      Is there a way to make the bulkOperation and remove running concurrently.

            Assignee:
            Unassigned Unassigned
            Reporter:
            gabriel.wang gabriel.wang
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: