Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-5565

Update fast truncate code to consider aggregated timestamps

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT10.0.0, 4.4.0-rc0, 4.7.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Storage Engines 2020-02-24

      While running the test_random_abort or test_random_directio tests on the durable history branch is generating a core dump with the following call stack.

      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
      #1  0x00007f1e200b7801 in __GI_abort () at abort.c:79
      #2  0x000056073784d105 in __wt_abort (session=0x7f1e20c7aeb0) at ../src/os_common/os_abort.c:30
      #3  0x0000560737818d2f in __wt_evict_file_exclusive_on (session=0x7f1e20c7aeb0) at ../src/evict/evict_lru.c:843
      #4  0x00005607377ec0b5 in __wt_conn_dhandle_open (session=0x7f1e20c7aeb0, cfg=0x7f1e1e17b9a0, flags=0) at ../src/conn/conn_dhandle.c:433
      #5  0x0000560737892adb in __wt_session_get_dhandle (session=0x7f1e20c7aeb0, uri=0x5607379ea686 "file:WiredTigerHS.wt", checkpoint=0x0, cfg=0x7f1e1e17b9a0, flags=0)
          at ../src/session/session_dhandle.c:504
      #6  0x0000560737892a84 in __wt_session_get_dhandle (session=0x7f1e20c7aeb0, uri=0x5607379ea686 "file:WiredTigerHS.wt", checkpoint=0x0, cfg=0x7f1e1e17b9a0, flags=0)
          at ../src/session/session_dhandle.c:497
      #7  0x0000560737892112 in __wt_session_get_btree_ckpt (session=0x7f1e20c7aeb0, uri=0x5607379ea686 "file:WiredTigerHS.wt", cfg=0x7f1e1e17b9a0, flags=0) at ../src/session/session_dhandle.c:320
      #8  0x0000560737803beb in __wt_curfile_open (session=0x7f1e20c7aeb0, uri=0x5607379ea686 "file:WiredTigerHS.wt", owner=0x0, cfg=0x7f1e1e17b9a0, cursorp=0x7f1e1e17b990) at ../src/cursor/cur_file.c:806
      #9  0x000056073787b903 in __session_open_cursor_int (session=0x7f1e20c7aeb0, uri=0x5607379ea686 "file:WiredTigerHS.wt", owner=0x0, other=0x0, cfg=0x7f1e1e17b9a0, cursorp=0x7f1e1e17b990)
          at ../src/session/session_api.c:464
      #10 0x000056073787bcc7 in __wt_open_cursor (session=0x7f1e20c7aeb0, uri=0x5607379ea686 "file:WiredTigerHS.wt", owner=0x0, cfg=0x7f1e1e17b9a0, cursorp=0x7f1e1e17b990) at ../src/session/session_api.c:528
      #11 0x000056073782431a in __wt_hs_cursor_open (session=0x7f1e20c7aeb0) at ../src/history/hs.c:220
      #12 0x00005607378243c4 in __wt_hs_cursor (session=0x7f1e20c7aeb0, session_flags=0x7f1e1e17ba14) at ../src/history/hs.c:248
      #13 0x000056073786b543 in __rec_hs_wrapup (session=0x7f1e20c7aeb0, r=0x7f1e143eb2e0) at ../src/reconcile/rec_write.c:2290
      #14 0x000056073786ad69 in __rec_write_wrapup (session=0x7f1e20c7aeb0, r=0x7f1e143eb2e0, page=0x56073a607350) at ../src/reconcile/rec_write.c:2130
      #15 0x00005607378661e8 in __reconcile (session=0x7f1e20c7aeb0, ref=0x56073a027be0, salvage=0x0, flags=86, page_lockedp=0x7f1e1e17bbaa) at ../src/reconcile/rec_write.c:200
      #16 0x0000560737865dcd in __wt_reconcile (session=0x7f1e20c7aeb0, ref=0x56073a027be0, salvage=0x0, flags=86) at ../src/reconcile/rec_write.c:87
      #17 0x000056073782265b in __evict_review (session=0x7f1e20c7aeb0, ref=0x56073a027be0, evict_flags=0, inmem_splitp=0x7f1e1e17bc7f) at ../src/evict/evict_page.c:630
      #18 0x0000560737820ba2 in __wt_evict (session=0x7f1e20c7aeb0, ref=0x56073a027be0, previous_state=3, flags=0) at ../src/evict/evict_page.c:149
      #19 0x000056073781d6a3 in __evict_page (session=0x7f1e20c7aeb0, is_server=true) at ../src/evict/evict_lru.c:2231
      #20 0x0000560737819737 in __evict_lru_pages (session=0x7f1e20c7aeb0, is_server=true) at ../src/evict/evict_lru.c:1102
      #21 0x00005607378186ac in __evict_pass (session=0x7f1e20c7aeb0) at ../src/evict/evict_lru.c:703
      #22 0x0000560737817c05 in __evict_server (session=0x7f1e20c7aeb0, did_work=0x7f1e1e17be8a) at ../src/evict/evict_lru.c:376
      #23 0x00005607378177ec in __wt_evict_thread_run (session=0x7f1e20c7aeb0, thread=0x5607399cf970) at ../src/evict/evict_lru.c:288
      #24 0x00005607378a71aa in __thread_run (arg=0x5607399cf970) at ../src/support/thread_group.c:31
      #25 0x00007f1e2046f6db in start_thread (arg=0x7f1e1e17c700) at pthread_create.c:463
      #26 0x00007f1e2019888f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      
      [1581463387:604329][31977:0x7f1e1e17c700], file:WiredTigerHS.wt, eviction-server: __wt_evict_file_exclusive_on, 843: !F_ISSET(session, WT_SESSION_LOCKED_PASS)
      [1581463387:604365][31977:0x7f1e1e17c700], file:WiredTigerHS.wt, eviction-server: __wt_abort, 28: aborting WiredTiger library
      

      The session has already set with WT_SESSION_LOCKED_PASS in __evict_server function, but while clearing the pages of the file from eviction queue, it checks that no one should lock the pass and it leads to an assert.

            Assignee:
            chenhao.qu@mongodb.com Chenhao Qu
            Reporter:
            haribabu.kommi@mongodb.com Haribabu Kommi
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: