summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/btree/bt_split.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/btree/bt_split.c b/src/btree/bt_split.c
index 2b20b2118ce..98102b76398 100644
--- a/src/btree/bt_split.c
+++ b/src/btree/bt_split.c
@@ -841,6 +841,11 @@ __split_parent(WT_SESSION_IMPL *session, WT_REF *ref,
* update the parent's index, it will no longer refer to the child, and
* could conceivably be evicted. Get a hazard pointer on the parent
* now, so that we can safely access it after updating the index.
+ *
+ * Take care getting the page doesn't trigger eviction work: we could
+ * block trying to split a different child of our parent and deadlock
+ * or we could be the eviction server relied upon by other threads to
+ * populate the eviction queue.
*/
if (!__wt_ref_is_root(parent_ref = parent->pg_intl_parent_ref)) {
WT_ERR(__wt_page_in(session, parent_ref, WT_READ_NO_EVICT));