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

WiredTiger.wt: read checksum error. block header checksum doesn't match expected checksum

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.4.9
    • Component/s: None
    • Environment:
      MacOS 10.12.6
      mongod 3.4.9
    • OS X

      Hello there, can someone help me? I've mounted my data volume into a docker container running a mongod and accidentally stopped the execution with CTRL-C. After that I could not restart my local mongod using the same data directory. I saw in some issues e.g here SERVER-31196(https://jira.mongodb.org/browse/SERVER-31196)) that the problem may be resolved by replacing some WiredTiger files. So I did. But unfortunately that didn't work out.

      Could you tell me:

      • is a recovery possible somehow? Even now that I have replaced my original WiredTiger.wt and WiredTiger.turtle files?
      • what information do you need from me then?

      Here is the stacktrace of my initial try using the `--repair` statement.

      Thank you in advance. Matthaeus

      mongod --dbpath /usr/local/var/mongodb/ --repair
      2017-10-17T17:07:03.656+0200 I CONTROL  [initandlisten] MongoDB starting : pid=43731 port=27017 dbpath=/usr/local/var/mongodb/ 64-bit host=...
      2017-10-17T17:07:03.657+0200 I CONTROL  [initandlisten] db version v3.4.9
      2017-10-17T17:07:03.657+0200 I CONTROL  [initandlisten] git version: 876ebee8c7dd0e2d992f36a848ff4dc50ee6603e
      2017-10-17T17:07:03.657+0200 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2l  25 May 2017
      2017-10-17T17:07:03.657+0200 I CONTROL  [initandlisten] allocator: system
      2017-10-17T17:07:03.657+0200 I CONTROL  [initandlisten] modules: none
      2017-10-17T17:07:03.657+0200 I CONTROL  [initandlisten] build environment:
      2017-10-17T17:07:03.657+0200 I CONTROL  [initandlisten]     distarch: x86_64
      2017-10-17T17:07:03.657+0200 I CONTROL  [initandlisten]     target_arch: x86_64
      2017-10-17T17:07:03.657+0200 I CONTROL  [initandlisten] options: { repair: true, storage: { dbPath: "/usr/local/var/mongodb/" } }
      2017-10-17T17:07:03.657+0200 W -        [initandlisten] Detected unclean shutdown - /usr/local/var/mongodb/mongod.lock is not empty.
      2017-10-17T17:07:03.658+0200 I -        [initandlisten] Detected data files in /usr/local/var/mongodb/ created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
      2017-10-17T17:07:03.658+0200 W STORAGE  [initandlisten] Recovering data from the last clean checkpoint.
      2017-10-17T17:07:03.658+0200 I STORAGE  [initandlisten] Detected WT journal files.  Running recovery from last checkpoint.
      2017-10-17T17:07:03.658+0200 I STORAGE  [initandlisten] journal to nojournal transition config: create,cache_size=3584M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
      2017-10-17T17:07:04.588+0200 E STORAGE  [initandlisten] WiredTiger error (0) [1508252824:588393][43731:0x7fffc76a43c0], file:WiredTiger.wt, WT_CURSOR.search_near: read checksum error for 24576B block at offset 57344: block header checksum of 1668246562 doesn't match expected checksum of 3206759375
      2017-10-17T17:07:04.588+0200 E STORAGE  [initandlisten] WiredTiger error (0) [1508252824:588464][43731:0x7fffc76a43c0], file:WiredTiger.wt, WT_CURSOR.search_near: WiredTiger.wt: encountered an illegal file format or internal value
      2017-10-17T17:07:04.588+0200 E STORAGE  [initandlisten] WiredTiger error (-31804) [1508252824:588480][43731:0x7fffc76a43c0], file:WiredTiger.wt, WT_CURSOR.search_near: the process must exit and restart: WT_PANIC: WiredTiger library panic
      2017-10-17T17:07:04.588+0200 I -        [initandlisten] Fatal Assertion 28558 at src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp 361
      2017-10-17T17:07:04.588+0200 I -        [initandlisten] 
      
      ***aborting after fassert() failure
      
      
      2017-10-17T17:07:04.599+0200 F -        [initandlisten] Got signal: 6 (Abort trap: 6).
      

        1. repair-SERVER-31602.log
          17 kB
          Matthäus Zloch
        2. repair-SERVER-31602.tar.gz
          5 kB
          Mark Agarunov
        3. WiredTiger.turtle
          1.0 kB
          Rajeev Ranjan
        4. WiredTiger.turtle
          1.0 kB
          Matthäus Zloch
        5. WiredTiger.wt
          208 kB
          Rajeev Ranjan
        6. WiredTiger.wt
          116 kB
          Matthäus Zloch

            Assignee:
            mark.agarunov Mark Agarunov
            Reporter:
            matthaeus Matthäus Zloch
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: