diff options
author | Etienne Petrel <etienne.petrel@mongodb.com> | 2022-05-02 22:57:00 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-05-03 00:19:52 +0000 |
commit | bd073fd759459fd7eba6610bfba68308598c9953 (patch) | |
tree | b559b1c6312ca34a99d4654b7e8462cf2474b93d /src/third_party/wiredtiger/src/cursor/cur_table.c | |
parent | 7eced17c3b5e1cf85284cf0f18bdc53d4bc97263 (diff) | |
download | mongo-bd073fd759459fd7eba6610bfba68308598c9953.tar.gz |
Import wiredtiger: f73ace80077f974162340b762cc6f2a92c31bcf4 from branch mongodb-master
ref: 90a43c0b68..f73ace8007
for: 6.1.0-rc0
WT-8707 Mongod reader yielding with WT::commit_transaction instead of rollback pins WT pages such that pages cannot be split/evicted by writer threads
Diffstat (limited to 'src/third_party/wiredtiger/src/cursor/cur_table.c')
-rw-r--r-- | src/third_party/wiredtiger/src/cursor/cur_table.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/src/cursor/cur_table.c b/src/third_party/wiredtiger/src/cursor/cur_table.c index 0fe18bdfd3c..0f2e290938a 100644 --- a/src/third_party/wiredtiger/src/cursor/cur_table.c +++ b/src/third_party/wiredtiger/src/cursor/cur_table.c @@ -362,9 +362,11 @@ __curtable_next(WT_CURSOR *cursor) ctable = (WT_CURSOR_TABLE *)cursor; JOINABLE_CURSOR_API_CALL(cursor, session, next, NULL); + CURSOR_REPOSITION_ENTER(cursor, session); APPLY_CG(ctable, next); err: + CURSOR_REPOSITION_END(cursor, session); API_END_RET(session, ret); } @@ -415,9 +417,11 @@ __curtable_prev(WT_CURSOR *cursor) ctable = (WT_CURSOR_TABLE *)cursor; JOINABLE_CURSOR_API_CALL(cursor, session, prev, NULL); + CURSOR_REPOSITION_ENTER(cursor, session); APPLY_CG(ctable, prev); err: + CURSOR_REPOSITION_END(cursor, session); API_END_RET(session, ret); } @@ -453,9 +457,11 @@ __curtable_search(WT_CURSOR *cursor) ctable = (WT_CURSOR_TABLE *)cursor; JOINABLE_CURSOR_API_CALL(cursor, session, search, NULL); + CURSOR_REPOSITION_ENTER(cursor, session); APPLY_CG(ctable, search); err: + CURSOR_REPOSITION_END(cursor, session); API_END_RET(session, ret); } @@ -474,6 +480,8 @@ __curtable_search_near(WT_CURSOR *cursor, int *exact) ctable = (WT_CURSOR_TABLE *)cursor; JOINABLE_CURSOR_API_CALL(cursor, session, search_near, NULL); + CURSOR_REPOSITION_ENTER(cursor, session); + cp = ctable->cg_cursors; primary = *cp; WT_ERR(primary->search_near(primary, exact)); @@ -487,6 +495,7 @@ __curtable_search_near(WT_CURSOR *cursor, int *exact) } err: + CURSOR_REPOSITION_END(cursor, session); API_END_RET(session, ret); } |