Details
-
Bug
-
Status: Closed
-
Major - P3
-
Resolution: Fixed
-
None
-
None
-
5
-
Storage - Ra 2020-05-18
Description
format failing with assert:
WT_SESSION.rollback_transaction: __wt_rec_upd_select, 420: __wt_txn_upd_visible_all(session, tombstone) && upd_select->upd == NULL
|
|
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
|
#1 0x00007f0a3eb9b801 in __GI_abort () at abort.c:79
|
#2 0x000056317fda481f in __wt_abort (session=0x563180516390) at src/os_common/os_abort.c:30
|
#3 0x000056317ff250a9 in __wt_rec_upd_select (session=0x563180516390, r=0x7f0a24209520, ins=0x0,
|
ripcip=0x7f0a185b98e0, vpack=0x7f0a3ad3a920, upd_select=0x7f0a3ad3a840)
|
at src/reconcile/rec_visibility.c:419
|
#4 0x000056317ff22036 in __wt_rec_row_leaf (session=0x563180516390, r=0x7f0a24209520,
|
pageref=0x7f0a2c22f0a0, salvage=0x0) at src/reconcile/rec_row.c:750
|
#5 0x000056317fdc26bf in __reconcile (session=0x563180516390, ref=0x7f0a2c22f0a0, salvage=0x0,
|
flags=140, page_lockedp=0x7f0a3ad3aa8a) at src/reconcile/rec_write.c:174
|
#6 0x000056317fdc234a in __wt_reconcile (session=0x563180516390, ref=0x7f0a2c22f0a0, salvage=0x0,
|
flags=140) at src/reconcile/rec_write.c:87
|
#7 0x000056317fd76eaf in __evict_review (session=0x563180516390, ref=0x7f0a2c22f0a0,
|
evict_flags=0, inmem_splitp=0x7f0a3ad3ab52) at src/evict/evict_page.c:653
|
#8 0x000056317fd753b7 in __wt_evict (session=0x563180516390, ref=0x7f0a2c22f0a0,
|
previous_state=3 '\003', flags=0) at src/evict/evict_page.c:177
|
#9 0x000056317fd71ddb in __evict_page (session=0x563180516390, is_server=false)
|
at src/evict/evict_lru.c:2263
|
#10 0x000056317fd723e8 in __wt_cache_eviction_worker (session=0x563180516390, busy=false,
|
readonly=false, pct_full=100.35381703307414) at src/evict/evict_lru.c:2350
|
#11 0x000056317fe078ce in __wt_cache_eviction_check (session=0x563180516390, busy=false,
|
readonly=false, didworkp=0x0) at ./src/include/cache.i:427
|
#12 0x000056317fe0d04b in __wt_txn_rollback (session=0x563180516390, cfg=0x7f0a3ad3ae10)
|
at src/txn/txn.c:1564
|
#13 0x000056317fde79fc in __session_rollback_transaction (wt_session=0x563180516390, config=0x0)
|
at src/session/session_api.c:1735
|
#14 0x000056317fd0b89b in rollback_transaction (tinfo=0x563182773f50) at ops.c:485
|
#15 0x000056317fd0ceb6 in ops (arg=0x563182773f50) at ops.c:1000
|
#16 0x00007f0a3ef536db in start_thread (arg=0x7f0a3ad3b700) at pthread_create.c:463
|
#17 0x00007f0a3ec7c88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
(gdb) frame 3
|
#3 0x000056317ff250a9 in __wt_rec_upd_select (session=0x563180516390, r=0x7f0a24209520, ins=0x0,
|
ripcip=0x7f0a185b98e0, vpack=0x7f0a3ad3a920, upd_select=0x7f0a3ad3a840)
|
at src/reconcile/rec_visibility.c:419
|
419 WT_ASSERT(
|
(gdb) list 410,430
|
410 * globally visible. In this case, the on page value is not appended. Check that.
|
411 */
|
412 if (last_upd->next != NULL) {
|
413 WT_ASSERT(session, last_upd->next->txnid == vpack->tw.start_txn &&
|
414 last_upd->next->start_ts == vpack->tw.start_ts &&
|
415 last_upd->next->type == WT_UPDATE_STANDARD && last_upd->next->next == NULL);
|
416 upd_select->upd = last_upd->next;
|
417 __wt_time_window_set_start(select_tw, last_upd->next);
|
418 } else {
|
419 WT_ASSERT(
|
420 session, __wt_txn_upd_visible_all(session, tombstone) && upd_select->upd == NULL);
|
421 upd_select->upd = tombstone;
|
422 }
|
423 }
|
424 }
|
425
|
426 /*
|
427 * If we found a tombstone with a time pair earlier than the update it applies to, which can
|
428 * happen if the application performs operations with timestamps out-of-order, make it invisible
|
429 * by making the start time pair match the stop time pair of the tombstone. We don't guarantee
|
430 * that older readers will be able to continue reading content that has been made invisible by
|
(gdb) p last_upd
|
$1 = (WT_UPDATE *) 0x7f0a1846f7d0
|
(gdb) p last_upd.next
|
$2 = (WT_UPDATE *) 0x0
|