diff options
-rw-r--r-- | src/btree/bt_split.c | 5 |
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)); |