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

mongod --repair terminates before repair is attempted under WiredTiger

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 2.8.0-rc0, 2.8.0-rc4
    • Fix Version/s: 3.0.0-rc6
    • Component/s: Storage
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      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

          Issue Links

            Activity

              People

              Assignee:
              redbeard0531 Mathias Stearn
              Reporter:
              bruce.lucas Bruce Lucas
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: