This is an automated email from the ASF dual-hosted git repository. mblow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit 933d132e6df5c1f250920088fdb16a0a949718a1 Author: Peeyush Gupta <[email protected]> AuthorDate: Mon Jul 15 11:43:02 2024 -0700 [ASTERIXDB-3451][STO] Avoid unlocking twice when pin fails - user model changes: no - storage format changes: no - interface changes: no Ext-ref: MB-69637 Change-Id: I1abe2a7cfd24d19319c6606c76d479291e6638b4 Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18487 Reviewed-by: Murtadha Hubail <[email protected]> Integration-Tests: Jenkins <[email protected]> Tested-by: Murtadha Hubail <[email protected]> (cherry picked from commit 2b0ebf5835983340b8c80160b00166186784a245) Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20624 Reviewed-by: Ali Alsuliman <[email protected]> Tested-by: Ian Maxon <[email protected]> Reviewed-by: Ian Maxon <[email protected]> --- .../java/org/apache/hyracks/storage/am/btree/impls/DiskBTree.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/DiskBTree.java b/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/DiskBTree.java index 1cbe31dde1..27b29be3dc 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/DiskBTree.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/DiskBTree.java @@ -130,10 +130,10 @@ public class DiskBTree extends BTree { while (!ctx.getInteriorFrame().isLeaf()) { // walk down the tree until we find the leaf childPageId = ctx.getInteriorFrame().getChildPageId(ctx.getPred()); + ICachedPage nextPage = + bufferCache.pin(BufferedFileHandle.getDiskPageId(getFileId(), childPageId), false); bufferCache.unpin(currentPage); - pageId = childPageId; - - currentPage = bufferCache.pin(BufferedFileHandle.getDiskPageId(getFileId(), childPageId), false); + currentPage = nextPage; ctx.getInteriorFrame().setPage(currentPage); }
