summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/btree/bt_walk.c
diff options
context:
space:
mode:
authorRamon Fernandez <ramon@mongodb.com>2016-09-26 08:10:04 -0400
committerRamon Fernandez <ramon@mongodb.com>2016-09-26 08:10:04 -0400
commit79d9b3ab5ce20f51c272b4411202710a082d0317 (patch)
tree02896bc295ffcd4a0201bda0663160bc22de2c2a /src/third_party/wiredtiger/src/btree/bt_walk.c
parent7026ff8dbc62b9649e8be1793d3273d9cc162174 (diff)
downloadmongo-65130e6a6cc4193431d089871f57416fbb47ec00.tar.gz
Import wiredtiger: 9cf2f89d6d95e1de797f05ab1fef28695f8bae7b from branch mongodb-3.2r3.2.10-rc2r3.2.10
ref: bb18c43915..9cf2f89d6d for: 3.2.10 WT-2864 Reconfiguring the checkpoint server can lead to hangs WT-2874 Change test_compact01 to avoid eviction WT-2918 The dist scripts create C files s_whitespace complains about WT-2919 Don't mask error returns from style checking scripts WT-2921 Reduce the WT_SESSION hazard_size when possible WT-2923 heap-use-after-free on address in compaction WT-2924 Ensure we are doing eviction when threads are waiting for it WT-2925 WT_THREAD_PANIC_FAIL is a WT_THREAD structure flag WT-2926 WT_CONNECTION.reconfigure can attempt unlock of not-locked lock WT-2928 Eviction failing to switch queues can lead to starvation
Diffstat (limited to 'src/third_party/wiredtiger/src/btree/bt_walk.c')
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_walk.c25
1 files changed, 6 insertions, 19 deletions
diff --git a/src/third_party/wiredtiger/src/btree/bt_walk.c b/src/third_party/wiredtiger/src/btree/bt_walk.c
index dc1cf4e7f98..fb0d2296823 100644
--- a/src/third_party/wiredtiger/src/btree/bt_walk.c
+++ b/src/third_party/wiredtiger/src/btree/bt_walk.c
@@ -472,27 +472,14 @@ restart: /*
empty_internal = false;
} else if (LF_ISSET(WT_READ_COMPACT)) {
/*
- * Skip deleted pages, rewriting them doesn't
- * seem useful.
+ * Compaction has relatively complex tests to
+ * decide if a page can be skipped, call out
+ * to a helper function.
*/
- if (ref->state == WT_REF_DELETED)
+ WT_ERR(__wt_compact_page_skip(
+ session, ref, &skip));
+ if (skip)
break;
-
- /*
- * If the page is in-memory, we want to look at
- * it (it may have been modified and written,
- * and the current location is the interesting
- * one in terms of compaction, not the original
- * location). If the page isn't in-memory, test
- * if the page will help with compaction, don't
- * read it if we don't have to.
- */
- if (ref->state == WT_REF_DISK) {
- WT_ERR(__wt_compact_page_skip(
- session, ref, &skip));
- if (skip)
- break;
- }
} else {
/*
* Try to skip deleted pages visible to us.