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

Truncation rollback locking is insufficient

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT10.0.0, 4.2.2, 4.3.2
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • 8
    • Storage Engines 2019-11-04, Storage Engines 2019-11-18

      While running the CONFIG from WT-5169 to try to reproduce the data mismatch, on two machines, both my AWS instance and kodkod-aws, both hit the same assertion:

      [1570714095:788674][3319:0x7f7fd37fe700], t, file:wt.wt, WT_SESSION.truncate: __wt_delete_page, 113: ref->page_del->txnid == WT_TXN_ABORTED
      [1570714095:788716][3319:0x7f7fd37fe700], t, file:wt.wt, WT_SESSION.truncate: __wt_abort, 28: aborting WiredTiger library
      

      This is running a recent develop changeset 2707680 from Oct 9.

      Here's the stack and other information:

      (gdb) bt
      #0  0x00007f8ec23ee5f7 in raise () from /lib64/libc.so.6
      #1  0x00007f8ec23efce8 in abort () from /lib64/libc.so.6
      #2  0x0000000000480021 in __wt_abort (session=0x7f8ec37c03e8) at ../src/os_common/os_abort.c:30
      #3  0x00000000005180a7 in __wt_delete_page (session=0x7f8ec37c03e8, ref=0x3327e10, 
          skipp=0x7f8e5affcb63) at ../src/btree/bt_delete.c:113
      #4  0x0000000000555cac in __tree_walk_internal (session=0x7f8ec37c03e8, refp=0x7f8e2411de28, 
          walkcntp=0x0, skip_func=0x0, func_cookie=0x0, flags=6274) at ../src/btree/bt_walk.c:486
      #5  0x0000000000556006 in __wt_tree_walk (session=0x7f8ec37c03e8, refp=0x7f8e2411de28, flags=6272)
          at ../src/btree/bt_walk.c:572
      #6  0x00000000005dee26 in __wt_btcur_next (cbt=0x7f8e2411dcb0, truncating=true)
          at ../src/btree/bt_curnext.c:689
      #7  0x0000000000515507 in __cursor_truncate (session=0x7f8ec37c03e8, start=0x7f8e2411dcb0, 
          stop=0x7f8e241fcbd0, rmfunc=0x512006 <__cursor_row_modify>) at ../src/btree/bt_cursor.c:1690
      #8  0x000000000051583e in __wt_btcur_range_truncate (start=0x7f8e2411dcb0, stop=0x7f8e241fcbd0)
          at ../src/btree/bt_cursor.c:1809
      #9  0x00000000005d4cc7 in __wt_schema_range_truncate (session=0x7f8ec37c03e8, 
          start=0x7f8e2411dcb0, stop=0x7f8e241fcbd0) at ../src/schema/schema_truncate.c:141
      #10 0x00000000004b85dc in __wt_session_range_truncate (session=0x7f8ec37c03e8, uri=0x0, 
          start=0x7f8e2411dcb0, stop=0x7f8e241fcbd0) at ../src/session/session_api.c:1417
      #11 0x00000000004b8f53 in __session_truncate (wt_session=0x7f8ec37c03e8, uri=0x0, 
          start=0x7f8e2411dcb0, stop=0x7f8e241fcbd0, config=0x0) at ../src/session/session_api.c:1488
      #12 0x000000000040b527 in row_truncate (tinfo=0x307c7e0, cursor=0x7f8e2411dcb0)
          at ../../../test/format/ops.c:1448
      #13 0x00000000004096f6 in ops (arg=0x307c7e0) at ../../../test/format/ops.c:884
      (gdb) p *ref->page_del
      $1 = {txnid = 136440, timestamp = 0, durable_timestamp = 0, prepare_state = 0 '\000', 
        previous_state = 0, update_list = 0x0}
      (gdb) p *ref
      $2 = {page = 0x0, home = 0x19501b0, pindex_hint = 22, state = 3, addr = 0x337c01f, key = {
          recno = 38654706669, ikey = 0x9000003ed}, page_del = 0x7f8e682b9790, page_las = 0x0, hist = {{
            session = 0x7f8ec37bc0f8, name = 0x6085cc "WT_SESSION.truncate", 
            func = 0x619070 <__func__.17904> "__wt_delete_page", time_sec = 1570700784, line = 155, 
            state = 1}, {session = 0x7f8ec37c03e8, name = 0x6085cc "WT_SESSION.truncate", 
            func = 0x619070 <__func__.17904> "__wt_delete_page", time_sec = 1570700784, line = 101, 
            state = 3}, {session = 0x7f8ec37bc0f8, name = 0x6085cc "WT_SESSION.truncate", 
            func = 0x619070 <__func__.17904> "__wt_delete_page", time_sec = 1570700784, line = 101, 
            state = 3}}, histoff = 2}
      

            Assignee:
            sue.loverso@mongodb.com Susan LoVerso
            Reporter:
            sue.loverso@mongodb.com Susan LoVerso
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: