-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: RTS
-
Storage Engines
-
StorEng - Defined Pipeline
-
2
-
v8.0, v7.0, v6.0, v5.0
Diff needed:
diff --git a/src/rollback_to_stable/rts_btree_walk.c b/src/rollback_to_stable/rts_btree_walk.c
index 139aa1dac..7bee3f5d1 100644
--- a/src/rollback_to_stable/rts_btree_walk.c
+++ b/src/rollback_to_stable/rts_btree_walk.c
@@ -32,7 +32,7 @@ __rts_btree_walk_page_skip(
{
WT_PAGE_DELETED *page_del;
wt_timestamp_t rollback_timestamp;
- char time_string[WT_TIME_STRING_SIZE];
+ char time_string[3][WT_TIME_STRING_SIZE];
bool reconciled;
rollback_timestamp = *(wt_timestamp_t *)context;
@@ -71,7 +71,7 @@ __rts_btree_walk_page_skip(
WT_RTS_VERB_TAG_SKIP_DEL "ref=%p: deleted page walk skipped page_del %s",
(void *)ref,
__wt_time_point_to_string(page_del->timestamp, page_del->durable_timestamp,
- page_del->txnid, time_string));
+ page_del->txnid, time_string[0]));
}
WT_STAT_CONN_INCR(session, txn_rts_tree_walk_skip_pages);
*skipp = true;
@@ -83,9 +83,9 @@ __rts_btree_walk_page_skip(
WT_RTS_VERB_TAG_PAGE_DELETE
"deleted page with commit_timestamp=%s, durable_timestamp=%s > "
"rollback_timestamp=%s, txnid=%" PRIu64,
- __wt_timestamp_to_string(page_del->timestamp, time_string),
- __wt_timestamp_to_string(page_del->durable_timestamp, time_string),
- __wt_timestamp_to_string(rollback_timestamp, time_string), page_del->txnid);
+ __wt_timestamp_to_string(page_del->timestamp, time_string[0]),
+ __wt_timestamp_to_string(page_del->durable_timestamp, time_string[1]),
+ __wt_timestamp_to_string(rollback_timestamp, time_string[2]), page_del->txnid);
return (0);
}
Furthermore, suggesting the following change otherwise we print two messages that are contradictory:
diff --git a/src/rollback_to_stable/rts_btree_walk.c b/src/rollback_to_stable/rts_btree_walk.c
index 139aa1dac..7bee3f5d1 100644
--- a/src/rollback_to_stable/rts_btree_walk.c
+++ b/src/rollback_to_stable/rts_btree_walk.c
@@ -104,6 +104,7 @@ __rts_btree_walk_page_skip(
__wt_verbose_multi(session, WT_VERB_RECOVERY_RTS(session),
WT_RTS_VERB_TAG_STABLE_PG_WALK_SKIP "ref=%p: stable page walk skipped", (void *)ref);
WT_STAT_CONN_INCR(session, txn_rts_tree_walk_skip_pages);
+ return (0);
}
reconciled = ref->page && ref->page->modify ? true : false;
- is duplicated by
-
WT-13294 Contradictory logs in RTS
-
- Closed
-
- is related to
-
WT-12643 Fix Eviction Server walk logic so that it's able to evict all pages
-
- Closed
-
-
WT-13716 Fast truncated pages on HS during selective backup not removed
-
- Closed
-
-
WT-14230 Add configuration option to dynamically disable WT-12643
-
- Closed
-
-
WT-13884 Increase range of values possible for obsolete cleanup
-
- Closed
-
- related to
-
WT-13216 Assess the use of cache eviction check in compact
-
- Closed
-
-
WT-13283 Fix the cache aggressive mode not to show the garbage value
-
- Closed
-
-
WT-13244 Lock the ref after we have acquired the prefetch lock
-
- Closed
-
-
WT-12096 __rec_validate_upd_chain(): Do not return EBUSY if globally visible.
-
- Closed
-
- split from
-
WT-13290 Handle fast truncated pages during RTS for VLCS
-
- Closed
-