summaryrefslogtreecommitdiff
path: root/src/btree/bt_read.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/btree/bt_read.c')
-rw-r--r--src/btree/bt_read.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/btree/bt_read.c b/src/btree/bt_read.c
index fd9a7597d73..19ff15fb21e 100644
--- a/src/btree/bt_read.c
+++ b/src/btree/bt_read.c
@@ -221,7 +221,7 @@ __las_page_instantiate(WT_SESSION_IMPL *session, WT_REF *ref, uint32_t btree_id)
*/
page->modify->first_dirty_txn = WT_TXN_FIRST;
- if (!ref->page_las->las_skew_oldest &&
+ if (ref->page_las->las_skew_newest &&
!S2C(session)->txn_global.has_stable_timestamp &&
__wt_txn_visible_all(session, ref->page_las->las_max_txn,
WT_TIMESTAMP_NULL(&ref->page_las->onpage_timestamp))) {
@@ -268,7 +268,7 @@ __evict_force_check(WT_SESSION_IMPL *session, WT_REF *ref)
* It's hard to imagine a page with a huge memory footprint that has
* never been modified, but check to be sure.
*/
- if (page->modify == NULL)
+ if (__wt_page_evict_clean(page))
return (false);
/* Pages are usually small enough, check that first. */
@@ -297,8 +297,7 @@ __evict_force_check(WT_SESSION_IMPL *session, WT_REF *ref)
* skipping the page indefinitely or large records can lead to
* extremely large memory footprints.
*/
- if (page->modify->update_restored &&
- !__wt_page_evict_retry(session, page))
+ if (!__wt_page_evict_retry(session, page))
return (false);
/* Trigger eviction on the next page release. */
@@ -496,7 +495,7 @@ __las_page_skip(WT_SESSION_IMPL *session, WT_REF *ref)
goto done;
if (!F_ISSET(txn, WT_TXN_HAS_TS_READ) &&
- !ref->page_las->las_skew_oldest) {
+ ref->page_las->las_skew_newest) {
skip = true;
goto done;
}
@@ -512,7 +511,7 @@ __las_page_skip(WT_SESSION_IMPL *session, WT_REF *ref)
&session->txn.read_timestamp) <= 0);
if (F_ISSET(&session->txn, WT_TXN_HAS_TS_READ) &&
- ref->page_las->las_skew_oldest &&
+ !ref->page_las->las_skew_newest &&
__wt_timestamp_cmp(
&ref->page_las->min_timestamp, &session->txn.read_timestamp) > 0) {
skip = true;