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

mongod --repair terminates before repair is attempted under WiredTiger

    XMLWordPrintableJSON

Details

    • Fully Compatible
    • ALL

    Description

      During intializion under WiredTiger some data is pre-loaded in setGlobalStorgeEngine(), before repair is attempted. If any of the preloaded data is damaged, mongod terminates with an fassert:

       mongod(_ZN5mongo13fassertFailedEi+0x19E) [0x1063183ae]
       mongod(_ZN5mongo12_GLOBAL__N_116mdb_handle_errorEP18__wt_event_handlerP12__wt_sessioniPKc+0xDE) [0x106199cee]
       mongod(__wt_eventv+0x4A3) [0x1067a6763]
       mongod(__wt_err+0x99) [0x1067a68b9]
       mongod(__wt_illegal_value+0x63) [0x1067a6ed3]
       mongod(__wt_bm_preload+0xA1) [0x106726b41]
       mongod(__wt_btree_open+0x12AF) [0x106734bff]
       mongod(__wt_conn_btree_get+0x4DF) [0x10676102f]
       mongod(__wt_session_get_btree+0x26D) [0x1067a5d1d]
       mongod(__wt_session_get_btree_ckpt+0xD1) [0x1067a5a61]
       mongod(__wt_curfile_open+0x108) [0x10676b6b8]
       mongod(__wt_open_cursor+0x110) [0x1067a25d0]
       mongod(__wt_curtable_open+0xF7) [0x10677b277]
       mongod(__wt_open_cursor+0x252) [0x1067a2712]
       mongod(__session_open_cursor+0x1A5) [0x1067a32e5]
       mongod(_ZN5mongo17WiredTigerSession9getCursorERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEy+0x13E) [0x1061a47fe]
       mongod(_ZN5mongo16WiredTigerCursor5_initERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEyPNS_22WiredTigerRecoveryUnitE+0x5F) [0x1061a37af]
       mongod(_ZN5mongo21WiredTigerRecordStore8IteratorC2ERKS0_PNS_16OperationContextERKNS_7DiskLocERKNS_20CollectionScanParams9DirectionEb+0x5A) [0x1061a173a]
       mongod(_ZNK5mongo21WiredTigerRecordStore11getIteratorEPNS_16OperationContextERKNS_7DiskLocERKNS_20CollectionScanParams9DirectionE+0x3E) [0x10619fd8e]
       mongod(_ZN5mongo21WiredTigerRecordStoreC2EPNS_16OperationContextERKNS_10StringDataES5_bxxPNS_28CappedDocumentDeleteCallbackEPNS_20WiredTigerSizeStorerE+0x51D) [0x10619d2fd]
       mongod(_ZN5mongo18WiredTigerKVEngine14getRecordStoreEPNS_16OperationContextERKNS_10StringDataES5_RKNS_17CollectionOptionsE+0x134) [0x10619ab94]
       mongod(_ZN5mongo22KVDatabaseCatalogEntry14initCollectionEPNS_16OperationContextERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE+0x12A) [0x106124d3a]
       mongod(_ZN5mongo15KVStorageEngine10finishInitEv+0x5BB) [0x106127c4b]
       mongod(_ZN5mongo23GlobalEnvironmentMongoD22setGlobalStorageEngineERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE+0x45) [0x105e7bb85]
       mongod(_ZN5mongoL14_initAndListenEi+0xC8C) [0x105bdd7ec]
       mongod(_ZN5mongo13initAndListenEi+0x13) [0x105bdc613]

      The consequence is that repair won't even be attempted for some kinds of damage. Based on experiment this appears to affect the block manager pages, the root btree page, and at least some internal btree pages.

      Attachments

        1. db.tgz
          386 kB

        Activity

          People

            mathias@mongodb.com Mathias Stearn
            bruce.lucas@mongodb.com Bruce Lucas (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: