-
Type: Bug
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
0
-
Storage Engines 2020-03-09
I modified the CONFIG that I've been using to turn off cursor modify operations (to see if I could reproduce the data mismatch without them). When doing so, I consistently hit a different assertion failure (that I haven't seen with modify operations turned on).
[1582732033:875359][1973:0x7f7d9dde1700], t, file:wt.wt, WT_SESSION.checkpoint: __hs_calculate_full_value, 445: upd->type == WT_UPDATE_STANDARD
The stack is:
#1 0x00007fd9a12a9ce8 in abort () from /lib64/libc.so.6 #2 0x000000000049757a in __wt_abort (session=0x7fd9a2670a90) at ../src/os_common/os_abort.c:30 #3 0x0000000000471945 in __hs_calculate_full_value (session=0x7fd9a2670a90, full_value=0x7fd974ffe3d0, upd=0x7fd97cbd4a10, base_full_value=0x6110f4, size=0) at ../src/history/hs.c:445 #4 0x0000000000471e8f in __wt_hs_insert_updates (cursor=0x7fd97474bc10, btree=0xfd3f70, page=0x7fd97d01be10, multi=0x7fd9740b20c0) at ../src/history/hs.c:593 #5 0x00000000004b7201 in __rec_hs_wrapup (session=0x7fd9a2670a90, r=0x7fd975a9bc10) at ../src/reconcile/rec_write.c:2311 #6 0x00000000004b6985 in __rec_write_wrapup (session=0x7fd9a2670a90, r=0x7fd975a9bc10, page=0x7fd97d01be10) at ../src/reconcile/rec_write.c:2144 #7 0x00000000004b1f12 in __reconcile (session=0x7fd9a2670a90, ref=0x7fd9780a7b50, salvage=0x0, flags=5, page_lockedp=0x7fd99b750a1e) at ../src/reconcile/rec_write.c:191 #8 0x00000000004b1b3d in __wt_reconcile (session=0x7fd9a2670a90, ref=0x7fd9780a7b50, salvage=0x0, flags=5) at ../src/reconcile/rec_write.c:87 #9 0x000000000057b83e in __wt_sync_file (session=0x7fd9a2670a90, syncop=WT_SYNC_CHECKPOINT) at ../src/btree/bt_sync.c:559 #10 0x00000000004fe99a in __checkpoint_tree (session=0x7fd9a2670a90, is_checkpoint=true, cfg=0x7fd99b750df0) at ../src/txn/txn_ckpt.c:1610 #11 0x00000000004fecb5 in __checkpoint_tree_helper (session=0x7fd9a2670a90, cfg=0x7fd99b750df0) at ../src/txn/txn_ckpt.c:1718 #12 0x00000000004faf90 in __checkpoint_apply_to_dhandles (session=0x7fd9a2670a90, cfg=0x7fd99b750df0, op=0x4fec26 <__checkpoint_tree_helper>) at ../src/txn/txn_ckpt.c:199 #13 0x00000000004fcb11 in __txn_checkpoint (session=0x7fd9a2670a90, cfg=0x7fd99b750df0) at ../src/txn/txn_ckpt.c:864 #14 0x00000000004fd6d1 in __txn_checkpoint_wrapper (session=0x7fd9a2670a90, cfg=0x7fd99b750df0) at ../src/txn/txn_ckpt.c:1076 #15 0x00000000004fd84a in __wt_txn_checkpoint (session=0x7fd9a2670a90, cfg=0x7fd99b750df0, waiting=true) at ../src/txn/txn_ckpt.c:1133 #16 0x00000000004d6ed3 in __session_checkpoint (wt_session=0x7fd9a2670a90, config=0x0) at ../src/session/session_api.c:1971 #17 0x0000000000410be0 in checkpoint (arg=0x0) at ../../../test/format/util.c:547 #18 0x00007fd9a1c62dc5 in start_thread () from /lib64/libpthread.so.0 #19 0x00007fd9a1369c9d in clone () from /lib64/libc.so.6
The update type is TOMBSTONE:
(gdb) p *upd $1 = {txnid = 36949, durable_ts = 68062, start_ts = 68062, next = 0x7fd975fa82e0, size = 0, type = 4 '\004', prepare_state = 0 '\000', flags = 0 '\000', data = 0x7fd97cbd4a37 ""}