-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 2.8.0-rc0, 2.8.0-rc4
-
Component/s: Storage
-
Fully Compatible
-
ALL
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.
- duplicates
-
SERVER-16173 mongod --repair not working under WiredTiger
- Closed
- is duplicated by
-
SERVER-16596 Repairing a WiredTiger database with a flipped bit triggers a checksum fassert
- Closed