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

Fatal Assertion 17441 at src\mongo\db\storage\mmap_v1\record_store_v1_base.cpp 282

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.4.7
    • Component/s: MMAPv1
    • Labels:
    • Environment:
      CentOs 7

      Repairing a corrupt MongoDB is failing due to a crash. I have a 400GB large MongoDB database consisting of 206 fraction files (mostly 1.99GB). File no 198 seems to be corrupt/broken. The the primary is using MMAPv1 as storage engine. To repair the database I tied the following:

      1. Deleted the secondary replica set and replicated again via version 3.2.6 (production). This started creating WiredTyger file types as is desired. This lead to a *crash* of MongoDB where the corruption was discovered in the first place.
      1. Removed this large DB from Mongo to see if something else is broken. After removal of this large DB all other DBs replicate fine and are fully accessible. This indicates the installation and setup is still fine.
      1. mongodump --host somehost:27017 --db large --out C:\db-mongo\large-backup\
        This lead to a crash of MongoDB version 3.4.7 (development machine).
      1. mongod --repair --repairpath C:\db-mongo\large-repair\ --config "D:\db-mongo\mongo-db-repair.conf"
        This lead to a crash while repairing "large.198" of MongoDB version 3.4.7 after running for 30 hours (development machine 4GHz i7 32GB RAM was unusable/frozen for anything else in that time).


          dbpath          = F:\mongo-dbs
          logpath         = d:\db-mongo\logs\mongo-rep1.log
          port            = 27017
          logappend       = true
          directoryperdb  = true
          storageEngine   = mmapv1

      The last entry in the log (see attached together with related mini dump) before printing the crash info is:
      Fatal Assertion 17441 at src\mongo\db\storage\mmap_v1\record_store_v1_base.cpp 282

      The plan is to get the replication going again and then update production to 3.4. Due to MongoDB crashing this is not possible at present.

            kelsey.schubert@mongodb.com Kelsey Schubert
            Daniel5 Daniel Putra [X]
            0 Vote for this issue
            8 Start watching this issue