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

Large update to text index can cause group commit to exceed max size

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.4.0-rc2
    • Affects Version/s: 2.3.2
    • Component/s: Storage, Text Search
    • None
    • Environment:
      OSX 10.8, SSD storage
    • ALL

      Inserting a document with 500,000 unique words can generate a group commit of >512MB. Trips assertion failure in AlignedBuilder::growReallocate, in util/alignedbuffer.cpp.

       91             verify( a <= 512*1024*1024 );
      

      This leads to a server shutdown. Reproduce with (after creating a {{

      {content: "text"}

      }} index):

      >>> import pymongo
      >>> testdb = pymongo.MongoClient()['test']
      >>> num_words_in_doc = 500 * 1000
      >>> large_doc = {'content':" ".join(map(str, range(1,num_words_in_doc+1)))}
      >>> num_docs = 50
      >>> for i in xrange(num_docs):
      ...   large_doc['_id'] = i
      ...   testdb.foo.insert(large_doc)
      ... 
      

      In my environment above, assertion trips on insert #32. Logfile attached.

        1. mongod.log
          75 kB
          J Rassi

            Assignee:
            eliot Eliot Horowitz (Inactive)
            Reporter:
            rassi J Rassi
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: