>From Ali Alsuliman <ali.al.solai...@gmail.com>: Ali Alsuliman has uploaded this change for review. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19632 )
Change subject: [ASTERIXDB-3591][RT] Ensure all search cursors closed ...................................................................... [ASTERIXDB-3591][RT] Ensure all search cursors closed - user model changes: no - storage format changes: no - interface changes: no Details: Ensure all search cursors closed to make sure cloud streams are closed. Ext-ref: MB-66048 Change-Id: Id044489573e5ef50b5bae4b7ba8fa36cd10cbfcf --- M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMIndexSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java 2 files changed, 30 insertions(+), 2 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/32/19632/1 diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java index 9740bc4..9dd8611 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java @@ -31,6 +31,7 @@ import org.apache.hyracks.storage.am.common.api.ILSMIndexCursor; import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; +import org.apache.hyracks.storage.am.common.util.ResourceReleaseUtils; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponent; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponent.LSMComponentType; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponentFilter; @@ -288,11 +289,15 @@ protected void closeCursors() throws HyracksDataException { if (btreeCursors != null) { + Throwable failure = null; for (int i = 0; i < numBTrees; ++i) { if (btreeCursors[i] != null) { - btreeCursors[i].close(); + failure = ResourceReleaseUtils.close(btreeCursors[i], failure); } } + if (failure != null) { + throw HyracksDataException.create(failure); + } } } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMIndexSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMIndexSearchCursor.java index 2c97221..d53e686 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMIndexSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMIndexSearchCursor.java @@ -28,6 +28,7 @@ import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; import org.apache.hyracks.storage.am.common.api.ILSMIndexCursor; import org.apache.hyracks.storage.am.common.impls.IndexAccessParameters; +import org.apache.hyracks.storage.am.common.util.ResourceReleaseUtils; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponent; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponentFilter; import org.apache.hyracks.storage.am.lsm.common.api.ILSMHarness; @@ -127,8 +128,12 @@ } if (rangeCursors != null) { + Throwable failure = null; for (int i = 0; i < rangeCursors.length; i++) { - rangeCursors[i].close(); + failure = ResourceReleaseUtils.close(rangeCursors[i], failure); + } + if (failure != null) { + throw HyracksDataException.create(failure); } } } finally { -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19632 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: ionic Gerrit-Change-Id: Id044489573e5ef50b5bae4b7ba8fa36cd10cbfcf Gerrit-Change-Number: 19632 Gerrit-PatchSet: 1 Gerrit-Owner: Ali Alsuliman <ali.al.solai...@gmail.com> Gerrit-MessageType: newchange