summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Chen <luke.chen@mongodb.com>2021-05-04 16:46:32 +1000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-05-04 07:11:56 +0000
commitb95dcba11fa544ee37e3323ebd95131d13d1e814 (patch)
tree0e4acd94e9d651cfacccacd0dd57a396c44a84a0
parentc712d5ddbd852b03331284ab9e08bae3addb4aa0 (diff)
downloadmongo-b95dcba11fa544ee37e3323ebd95131d13d1e814.tar.gz
Import wiredtiger: 637a8d089e42882db1209009df312d5a9491d238 from branch mongodb-5.0
ref: 652def8ae4..637a8d089e for: 5.0.0 WT-7474 Reset cursor-order checks whenever a search is performed
-rw-r--r--src/third_party/wiredtiger/import.data2
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_cursor.c18
2 files changed, 19 insertions, 1 deletions
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data
index aa12ed897f8..fe680b4050f 100644
--- a/src/third_party/wiredtiger/import.data
+++ b/src/third_party/wiredtiger/import.data
@@ -2,5 +2,5 @@
"vendor": "wiredtiger",
"github": "wiredtiger/wiredtiger.git",
"branch": "mongodb-5.0",
- "commit": "652def8ae433a2001145d34baec9ef9f5610a97e"
+ "commit": "637a8d089e42882db1209009df312d5a9491d238"
}
diff --git a/src/third_party/wiredtiger/src/btree/bt_cursor.c b/src/third_party/wiredtiger/src/btree/bt_cursor.c
index 481a1632a08..9449be9603a 100644
--- a/src/third_party/wiredtiger/src/btree/bt_cursor.c
+++ b/src/third_party/wiredtiger/src/btree/bt_cursor.c
@@ -348,6 +348,15 @@ __cursor_col_search(WT_CURSOR_BTREE *cbt, WT_REF *leaf, bool *leaf_foundp)
WT_SESSION_IMPL *session;
session = CUR2S(cbt);
+
+#ifdef HAVE_DIAGNOSTIC
+ /*
+ * Turn off cursor-order checks in all cases on search. The search/search-near functions turn
+ * them back on after a successful search.
+ */
+ __wt_cursor_key_order_reset(cbt);
+#endif
+
WT_WITH_PAGE_INDEX(
session, ret = __wt_col_search(cbt, cbt->iface.recno, leaf, false, leaf_foundp));
return (ret);
@@ -364,6 +373,15 @@ __cursor_row_search(WT_CURSOR_BTREE *cbt, bool insert, WT_REF *leaf, bool *leaf_
WT_SESSION_IMPL *session;
session = CUR2S(cbt);
+
+#ifdef HAVE_DIAGNOSTIC
+ /*
+ * Turn off cursor-order checks in all cases on search. The search/search-near functions turn
+ * them back on after a successful search.
+ */
+ __wt_cursor_key_order_reset(cbt);
+#endif
+
WT_WITH_PAGE_INDEX(
session, ret = __wt_row_search(cbt, &cbt->iface.key, insert, leaf, false, leaf_foundp));
return (ret);