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

MongoDB Concurrency Lock Failed for Multithread Insert/Update

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Duplicate
    • Affects Version/s: 3.2.1
    • Fix Version/s: None
    • Component/s: Concurrency, WiredTiger
    • Labels:
      None
    • Operating System:
      ALL

      Description

      I did some test on MongoDB from java multithread program to check how MongoDB ensure concurrent access on document. My sample program ensure that only one copy will exists on collection. it inserts a document if it not exists in collection otherwise it updates document frequency. After several tests i found that some documents exists with same value.

      Mongo DB Collection

      { _id: ObjectId, doc: String, doc_freq: Integer, created_at: Date }
      

      Index:

      db.doc.ensureIndex({doc:1});
      

      Here "doc" field is used for searching and if anything found then "doc_freq" is updated. If nothing is found then new document will be inserted.I have inserted 100000 entries which has same doc value and used 200 thread. And found that more than one entries found on collection with same doc value. I have used Java MongoDB Driver Version: 3.0.4 and **MongoDB Version:3.2.1 on OS Yosemite and Wire Tiger engine. Please find my test code from this url https://talha13@bitbucket.org/talha13/duplicatetest.git . To reproduce this issue please run several times and make sure before each run doc collection are clear.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: