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

MongoDB Concurrency Lock Failed for Multithread Insert/Update

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.2.1
    • Component/s: Concurrency, WiredTiger
    • Labels:
      None
    • ALL

      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.

            Assignee:
            Unassigned Unassigned
            Reporter:
            talha Mahbubur Rub Talha
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: