From notifications-return-75400-archive-asf-public=cust-asf.ponee.io@asterixdb.apache.org Fri Jan 5 01:35:33 2018 Return-Path: X-Original-To: archive-asf-public@eu.ponee.io Delivered-To: archive-asf-public@eu.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by mx-eu-01.ponee.io (Postfix) with ESMTP id 27F70180657 for ; Fri, 5 Jan 2018 01:35:33 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 181F9160C3A; Fri, 5 Jan 2018 00:35:33 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id E6490160C2B for ; Fri, 5 Jan 2018 01:35:29 +0100 (CET) Received: (qmail 6749 invoked by uid 500); 5 Jan 2018 00:35:29 -0000 Mailing-List: contact notifications-help@asterixdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@asterixdb.apache.org Delivered-To: mailing list notifications@asterixdb.apache.org Received: (qmail 6740 invoked by uid 99); 5 Jan 2018 00:35:29 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 05 Jan 2018 00:35:29 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 75A3F18079C for ; Fri, 5 Jan 2018 00:35:28 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.126 X-Spam-Level: ** X-Spam-Status: No, score=2.126 tagged_above=-999 required=6.31 tests=[MISSING_HEADERS=1.207, SPF_FAIL=0.919] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id yz_1knB6rFME for ; Fri, 5 Jan 2018 00:35:08 +0000 (UTC) Received: from vitalstatistix.ics.uci.edu (vitalstatistix.ics.uci.edu [128.195.52.38]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id DAE9B5F3B5 for ; Fri, 5 Jan 2018 00:35:07 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by vitalstatistix.ics.uci.edu (Postfix) with ESMTP id 7B482100ACB; Thu, 4 Jan 2018 16:35:07 -0800 (PST) Date: Thu, 4 Jan 2018 16:35:07 -0800 From: "abdullah alamoudi (Code Review)" CC: Jenkins , Till Westmann , Ian Maxon , Murtadha Hubail , Michael Blow Reply-To: bamousaa@gmail.com X-Gerrit-MessageType: merged Subject: Change in asterixdb[master]: [ASTERIXDB-2204][STO] Fix the IIndexCursor interface X-Gerrit-Change-Id: I64cf8c0a5473268bdfd71fd560ee6b3bff219ce9 X-Gerrit-ChangeURL: X-Gerrit-Commit: 08dc8597e2c9bcbf133250487c71b82d53fd1224 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-Disposition: inline User-Agent: Gerrit/2.12.7 Message-Id: <20180105003507.7B482100ACB@vitalstatistix.ics.uci.edu> abdullah alamoudi has submitted this change and it was merged. Change subject: [ASTERIXDB-2204][STO] Fix the IIndexCursor interface ...................................................................... [ASTERIXDB-2204][STO] Fix the IIndexCursor interface - user model changes: no - storage format changes: no - interface changes: yes - replace IIndexCursor.reset with close - replace IIndexCursor.close with destroy Details: - This change is the first step towards fixing the behavior of implementors/callers of the IIndexCursor interface - In this change, we simply rename the reset -> close and close -> destroy and we write down the javadocs explaining the semantics of the interface. - LSM Index Cursors don't implements ITreeIndexCursor anymore. Change-Id: I64cf8c0a5473268bdfd71fd560ee6b3bff219ce9 Reviewed-on: https://asterix-gerrit.ics.uci.edu/2238 Tested-by: Jenkins Integration-Tests: Jenkins Contrib: Jenkins Reviewed-by: abdullah alamoudi --- M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/ExternalFileIndexAccessor.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeCountingSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeRangeSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/test/java/org/apache/hyracks/storage/am/btree/test/FramewriterTest.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/TreeIndexDiskOrderScanOperatorNodePushable.java M hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/TreeIndexDiskOrderScanCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTreeWithBuddy.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeDiskComponentScanCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeMergeOperation.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyAbstractCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyMergeOperation.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddySearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddySortedCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndex.java 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-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMTreeIndexAccessor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndex.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexRangeSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedListCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndex.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexRangeSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/PartitionedOnDiskInvertedIndex.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/ExternalRTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTree.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeAbstractCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeMergeOperation.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeSortedCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuples.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuplesFlushCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuplesSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/TreeTupleSorter.java M hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/impls/RTreeSearchCursor.java M hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexCursor.java M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractSearchOperationCallbackTest.java M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexExamplesTest.java M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestUtils.java M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/AbstractIndexTestWorker.java M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeExamplesTest.java M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/RTreeTestUtils.java M hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchCursorTest.java M hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeUpdateSearchTest.java M hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/multithread/BTreeTestWorker.java M hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeSearchOperationCallbackTest.java M hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeUpdateInPlaceScanDiskComponentsTest.java M hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/multithread/LSMBTreeTestWorker.java M hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-invertedindex-test/src/test/java/org/apache/hyracks/storage/am/lsm/invertedindex/multithread/LSMInvertedIndexTestWorker.java M hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-invertedindex-test/src/test/java/org/apache/hyracks/storage/am/lsm/invertedindex/util/LSMInvertedIndexTestUtils.java M hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/AbstractLSMRTreeTestWorker.java M hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/LSMRTreeTestWorker.java M hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/LSMRTreeWithAntiMatterTuplesTestWorker.java M hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-rtree-test/src/test/java/org/apache/hyracks/storage/am/rtree/multithread/RTreeTestWorker.java 63 files changed, 294 insertions(+), 375 deletions(-) Approvals: abdullah alamoudi: Looks good to me, approved Jenkins: Verified; ; Verified Objections: Anon. E. Moose #1000171: Violations found Jenkins: Violations found diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/ExternalFileIndexAccessor.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/ExternalFileIndexAccessor.java index c11fb61..88b8a14 100644 --- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/ExternalFileIndexAccessor.java +++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/ExternalFileIndexAccessor.java @@ -102,7 +102,7 @@ searchKeyTupleBuilder.reset(); searchKeyTupleBuilder.addField(intSerde, currentFileNumber); searchKey.reset(searchKeyTupleBuilder.getFieldEndOffsets(), searchKeyTupleBuilder.getByteArray()); - fileIndexSearchCursor.reset(); + fileIndexSearchCursor.close(); // Perform search fileIndexAccessor.search(fileIndexSearchCursor, searchPredicate); @@ -137,7 +137,7 @@ public void close() throws HyracksDataException { if (index != null) { try { - fileIndexSearchCursor.close(); + fileIndexSearchCursor.destroy(); } finally { indexDataflowHelper.close(); } diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java index 368fc2a..ed3bbe0 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java @@ -19,15 +19,12 @@ package org.apache.asterix.metadata; -import static org.apache.asterix.common.transactions.ITransactionManager.AtomicityLevel; - import java.rmi.RemoteException; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.logging.Logger; import org.apache.asterix.common.api.IDatasetLifecycleManager; import org.apache.asterix.common.api.INcApplicationContext; @@ -40,6 +37,7 @@ import org.apache.asterix.common.transactions.DatasetId; import org.apache.asterix.common.transactions.IRecoveryManager.ResourceType; import org.apache.asterix.common.transactions.ITransactionContext; +import org.apache.asterix.common.transactions.ITransactionManager.AtomicityLevel; import org.apache.asterix.common.transactions.ITransactionSubsystem; import org.apache.asterix.common.transactions.ImmutableDatasetId; import org.apache.asterix.common.transactions.TransactionOptions; @@ -111,7 +109,6 @@ import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; import org.apache.hyracks.dataflow.common.utils.TupleUtils; import org.apache.hyracks.storage.am.btree.impls.RangePredicate; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.common.impls.IndexAccessParameters; import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; @@ -1182,7 +1179,7 @@ IIndex indexInstance = datasetLifecycleManager.get(resourceName); datasetLifecycleManager.open(resourceName); IIndexAccessor indexAccessor = indexInstance.createAccessor(NoOpIndexAccessParameters.INSTANCE); - ITreeIndexCursor rangeCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor(false); + IIndexCursor rangeCursor = indexAccessor.createSearchCursor(false); RangePredicate rangePred = null; rangePred = new RangePredicate(null, null, true, true, null, null); @@ -1194,7 +1191,7 @@ SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.ASTRING) })); } } finally { - rangeCursor.close(); + rangeCursor.destroy(); } datasetLifecycleManager.close(resourceName); @@ -1202,7 +1199,7 @@ indexInstance = datasetLifecycleManager.get(resourceName); datasetLifecycleManager.open(resourceName); indexAccessor = indexInstance.createAccessor(NoOpIndexAccessParameters.INSTANCE); - rangeCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor(false); + rangeCursor = indexAccessor.createSearchCursor(false); rangePred = null; rangePred = new RangePredicate(null, null, true, true, null, null); @@ -1215,7 +1212,7 @@ SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.ASTRING) })); } } finally { - rangeCursor.close(); + rangeCursor.destroy(); } datasetLifecycleManager.close(resourceName); @@ -1223,7 +1220,7 @@ indexInstance = datasetLifecycleManager.get(resourceName); datasetLifecycleManager.open(resourceName); indexAccessor = indexInstance.createAccessor(NoOpIndexAccessParameters.INSTANCE); - rangeCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor(false); + rangeCursor = indexAccessor.createSearchCursor(false); rangePred = null; rangePred = new RangePredicate(null, null, true, true, null, null); @@ -1237,7 +1234,7 @@ SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.ASTRING) })); } } finally { - rangeCursor.close(); + rangeCursor.destroy(); } datasetLifecycleManager.close(resourceName); } catch (Exception e) { @@ -1258,7 +1255,7 @@ IIndex indexInstance = datasetLifecycleManager.get(resourceName); datasetLifecycleManager.open(resourceName); IIndexAccessor indexAccessor = indexInstance.createAccessor(NoOpIndexAccessParameters.INSTANCE); - ITreeIndexCursor rangeCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor(false); + IIndexCursor rangeCursor = indexAccessor.createSearchCursor(false); IBinaryComparator[] searchCmps = null; MultiComparator searchCmp = null; @@ -1282,7 +1279,7 @@ } } } finally { - rangeCursor.close(); + rangeCursor.destroy(); } datasetLifecycleManager.close(resourceName); } @@ -1316,7 +1313,7 @@ } } } finally { - rangeCursor.close(); + rangeCursor.destroy(); } } finally { datasetLifecycleManager.close(resourceName); diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java index 4855a27..0d74e30 100644 --- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java +++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java @@ -25,7 +25,6 @@ import org.apache.asterix.common.api.INcApplicationContext; import org.apache.asterix.common.dataflow.LSMIndexUtil; import org.apache.asterix.common.exceptions.ACIDException; -import org.apache.asterix.common.exceptions.AsterixException; import org.apache.asterix.common.transactions.ILogMarkerCallback; import org.apache.asterix.common.transactions.PrimaryIndexLogMarkerCallback; import org.apache.asterix.om.pointables.nonvisitor.ARecordPointable; @@ -143,7 +142,7 @@ if (cursor.hasNext()) { cursor.next(); prevTuple = cursor.getTuple(); - cursor.reset(); // end the search + cursor.close(); // end the search appendFilterToPrevTuple(); appendPrevRecord(); appendPreviousMeta(); @@ -318,7 +317,7 @@ if (isFiltered) { writeMissingField(); } - cursor.reset(); + cursor.close(); } /** @@ -361,7 +360,7 @@ public void close() throws HyracksDataException { try { try { - cursor.close(); + cursor.destroy(); } finally { writer.close(); } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeCountingSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeCountingSearchCursor.java index d7084bb..82df92c 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeCountingSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeCountingSearchCursor.java @@ -207,7 +207,7 @@ } @Override - public void close() throws HyracksDataException { + public void destroy() throws HyracksDataException { if (page != null) { releasePage(); } @@ -220,9 +220,9 @@ } @Override - public void reset() { + public void close() { try { - close(); + destroy(); } catch (Exception e) { e.printStackTrace(); } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeRangeSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeRangeSearchCursor.java index 13cb57a..5ce9e1a 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeRangeSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeRangeSearchCursor.java @@ -81,7 +81,7 @@ } @Override - public void close() throws HyracksDataException { + public void destroy() throws HyracksDataException { if (page != null) { if (exclusiveLatchNodes) { page.releaseWriteLatch(isPageDirty); @@ -292,8 +292,8 @@ } @Override - public void reset() throws HyracksDataException { - close(); + public void close() throws HyracksDataException { + destroy(); } @Override diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/test/java/org/apache/hyracks/storage/am/btree/test/FramewriterTest.java b/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/test/java/org/apache/hyracks/storage/am/btree/test/FramewriterTest.java index 64f8263..4ff0656 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/test/java/org/apache/hyracks/storage/am/btree/test/FramewriterTest.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/test/java/org/apache/hyracks/storage/am/btree/test/FramewriterTest.java @@ -390,7 +390,7 @@ cursor = Mockito.mock(IIndexCursor.class); Mockito.when(cursor.hasNext()).thenReturn(true, true, false); Mockito.when(cursor.getTuple()).thenReturn(tuples[i]); - Mockito.doThrow(new HyracksDataException("Failed to close cursor")).when(cursor).close(); + Mockito.doThrow(new HyracksDataException("Failed to close cursor")).when(cursor).destroy(); cursors[j] = cursor; j++; } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java b/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java index 1e5f69b..09812c1 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java @@ -201,7 +201,7 @@ try { for (int i = 0; i < tupleCount; i++) { resetSearchPredicate(i); - cursor.reset(); + cursor.close(); indexAccessor.search(cursor, searchPred); writeSearchResults(i); } @@ -232,7 +232,7 @@ } try { - cursor.close(); + cursor.destroy(); } catch (Throwable th) { if (closeException == null) { closeException = HyracksDataException.create(th); diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/TreeIndexDiskOrderScanOperatorNodePushable.java b/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/TreeIndexDiskOrderScanOperatorNodePushable.java index dc86c74..7626815 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/TreeIndexDiskOrderScanOperatorNodePushable.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/TreeIndexDiskOrderScanOperatorNodePushable.java @@ -95,7 +95,7 @@ throw new HyracksDataException(th); } finally { try { - cursor.close(); + cursor.destroy(); } catch (Exception cursorCloseException) { throw new IllegalStateException(cursorCloseException); } finally { diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/TreeIndexDiskOrderScanCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/TreeIndexDiskOrderScanCursor.java index 0b8b64c..6bc5be2 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/TreeIndexDiskOrderScanCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/TreeIndexDiskOrderScanCursor.java @@ -48,7 +48,7 @@ } @Override - public void close() throws HyracksDataException { + public void destroy() throws HyracksDataException { page.releaseReadLatch(); bufferCache.unpin(page); page = null; @@ -130,7 +130,7 @@ } @Override - public void reset() { + public void close() { tupleIndex = 0; currentPageId = -1; maxPageId = -1; diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTree.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTree.java index 5b6ff9e..280803d 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTree.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTree.java @@ -31,7 +31,6 @@ import org.apache.hyracks.storage.am.btree.impls.BTree; import org.apache.hyracks.storage.am.common.api.IIndexOperationContext; import org.apache.hyracks.storage.am.common.api.IMetadataPageManager; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.common.api.ITreeIndexFrameFactory; import org.apache.hyracks.storage.am.common.api.ITwoPCIndexBulkLoader; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; @@ -188,7 +187,7 @@ returnDeletedTuples = true; } } - ITreeIndexCursor cursor = new LSMBTreeRangeSearchCursor(opCtx, returnDeletedTuples); + LSMBTreeRangeSearchCursor cursor = new LSMBTreeRangeSearchCursor(opCtx, returnDeletedTuples); BTree firstBTree = ((LSMBTreeDiskComponent) mergingComponents.get(0)).getIndex(); BTree lastBTree = ((LSMBTreeDiskComponent) mergingComponents.get(mergingComponents.size() - 1)).getIndex(); FileReference firstFile = firstBTree.getFileReference(); diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTreeWithBuddy.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTreeWithBuddy.java index c6ce339..5f04c0a 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTreeWithBuddy.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTreeWithBuddy.java @@ -33,7 +33,6 @@ import org.apache.hyracks.storage.am.common.api.IIndexOperationContext; import org.apache.hyracks.storage.am.common.api.IMetadataPageManager; import org.apache.hyracks.storage.am.common.api.ITreeIndex; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.common.api.ITreeIndexFrameFactory; import org.apache.hyracks.storage.am.common.api.ITwoPCIndexBulkLoader; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; @@ -273,7 +272,7 @@ ILSMIndexOperationContext bctx = createOpContext(NoOpOperationCallback.INSTANCE, 0); bctx.setOperation(IndexOperation.MERGE); List mergingComponents = ctx.getComponentHolder(); - ITreeIndexCursor cursor = new LSMBTreeWithBuddySortedCursor(bctx, buddyBTreeFields); + LSMBTreeWithBuddySortedCursor cursor = new LSMBTreeWithBuddySortedCursor(bctx, buddyBTreeFields); LSMComponentFileReferences relMergeFileRefs = getMergeTargetFileName(mergingComponents); ILSMIndexAccessor accessor = new LSMTreeIndexAccessor(getHarness(), bctx, opCtx -> new LSMBTreeWithBuddySearchCursor(opCtx, buddyBTreeFields)); @@ -342,7 +341,7 @@ componentBulkLoader.delete(tuple); } } finally { - buddyBtreeCursor.close(); + buddyBtreeCursor.destroy(); } } else { componentBulkLoader = mergedComponent.createBulkLoader(1.0f, false, 0L, false, false, false); @@ -355,7 +354,7 @@ componentBulkLoader.add(frameTuple); } } finally { - cursor.close(); + cursor.destroy(); } componentBulkLoader.end(); return mergedComponent; diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java index 6929530..482ad38 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java @@ -35,7 +35,6 @@ import org.apache.hyracks.storage.am.common.api.IIndexOperationContext; import org.apache.hyracks.storage.am.common.api.IPageManager; import org.apache.hyracks.storage.am.common.api.ITreeIndex; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.common.api.ITreeIndexFrameFactory; import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.lsm.btree.tuples.LSMBTreeTupleReference; @@ -189,14 +188,14 @@ if (!lsmbtreeTuple.isAntimatter()) { throw HyracksDataException.create(ErrorCode.DUPLICATE_KEY); } else { - memCursor.close(); + memCursor.destroy(); ctx.getCurrentMutableBTreeAccessor().upsertIfConditionElseInsert(tuple, AntimatterAwareTupleAcceptor.INSTANCE); return true; } } } finally { - memCursor.close(); + memCursor.destroy(); } // TODO: Can we just remove the above code that search the mutable @@ -214,7 +213,7 @@ throw HyracksDataException.create(ErrorCode.DUPLICATE_KEY); } } finally { - searchCursor.close(); + searchCursor.destroy(); // Add the current active mutable component back ctx.getComponentHolder().add(0, firstComponent); } @@ -264,7 +263,7 @@ numElements = IntegerPointable.getInteger(countTuple.getFieldData(0), countTuple.getFieldStart(0)); } } finally { - countingCursor.close(); + countingCursor.destroy(); } } @@ -287,7 +286,7 @@ componentBulkLoader.add(scanCursor.getTuple()); } } finally { - scanCursor.close(); + scanCursor.destroy(); } if (component.getLSMComponentFilter() != null) { @@ -337,7 +336,7 @@ componentBulkLoader.add(frameTuple); } } finally { - cursor.close(); + cursor.destroy(); } if (mergedComponent.getLSMComponentFilter() != null) { List filterTuples = new ArrayList<>(); @@ -442,7 +441,7 @@ if (mergingComponents.get(mergingComponents.size() - 1) != diskComponents.get(diskComponents.size() - 1)) { returnDeletedTuples = true; } - ITreeIndexCursor cursor = new LSMBTreeRangeSearchCursor(opCtx, returnDeletedTuples); + LSMBTreeRangeSearchCursor cursor = new LSMBTreeRangeSearchCursor(opCtx, returnDeletedTuples); return new LSMBTreeMergeOperation(accessor, cursor, mergeFileRefs.getInsertIndexFileReference(), mergeFileRefs.getBloomFilterFileReference(), callback, fileManager.getBaseDir().getAbsolutePath()); } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeDiskComponentScanCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeDiskComponentScanCursor.java index 2f77504..efaf555 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeDiskComponentScanCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeDiskComponentScanCursor.java @@ -176,11 +176,11 @@ } @Override - public void close() throws HyracksDataException { + public void destroy() throws HyracksDataException { if (lsmHarness != null) { try { for (int i = 0; i < rangeCursors.length; i++) { - rangeCursors[i].close(); + rangeCursors[i].destroy(); } rangeCursors = null; } finally { diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeMergeOperation.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeMergeOperation.java index ec96303..edfa7e1 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeMergeOperation.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeMergeOperation.java @@ -20,16 +20,16 @@ package org.apache.hyracks.storage.am.lsm.btree.impls; import org.apache.hyracks.api.io.FileReference; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallback; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIndexAccessor; import org.apache.hyracks.storage.am.lsm.common.impls.MergeOperation; +import org.apache.hyracks.storage.common.IIndexCursor; public class LSMBTreeMergeOperation extends MergeOperation { private final FileReference bloomFilterMergeTarget; - public LSMBTreeMergeOperation(ILSMIndexAccessor accessor, ITreeIndexCursor cursor, FileReference target, + public LSMBTreeMergeOperation(ILSMIndexAccessor accessor, IIndexCursor cursor, FileReference target, FileReference bloomFilterMergeTarget, ILSMIOOperationCallback callback, String indexIdentifier) { super(accessor, target, callback, indexIdentifier, cursor); this.bloomFilterMergeTarget = bloomFilterMergeTarget; 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 211a233..0284ee1 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 @@ -29,7 +29,6 @@ import org.apache.hyracks.storage.am.btree.impls.BTree.BTreeAccessor; import org.apache.hyracks.storage.am.btree.impls.BTreeRangeSearchCursor; import org.apache.hyracks.storage.am.btree.impls.RangePredicate; -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.impls.NoOpOperationCallback; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponent; @@ -39,11 +38,11 @@ import org.apache.hyracks.storage.am.lsm.common.api.ILSMIndexOperationContext; import org.apache.hyracks.storage.am.lsm.common.api.ILSMTreeTupleReference; import org.apache.hyracks.storage.common.ICursorInitialState; +import org.apache.hyracks.storage.common.IIndexCursor; import org.apache.hyracks.storage.common.ISearchOperationCallback; import org.apache.hyracks.storage.common.ISearchPredicate; -import org.apache.hyracks.storage.common.buffercache.IBufferCache; -public class LSMBTreePointSearchCursor implements ITreeIndexCursor { +public class LSMBTreePointSearchCursor implements IIndexCursor { private BTreeRangeSearchCursor[] rangeCursors; private final ILSMIndexOperationContext opCtx; @@ -89,7 +88,7 @@ if (reconciled) { searchCallback.cancel(predicate.getLowKey()); } - rangeCursors[i].close(); + rangeCursors[i].destroy(); return false; } else { frameTuple = rangeCursors[i].getTuple(); @@ -100,7 +99,7 @@ } if (i == 0 && includeMutableComponent) { // unlatch/unpin - rangeCursors[i].reset(); + rangeCursors[i].close(); searchCallback.reconcile(predicate.getLowKey()); reconciled = true; @@ -110,7 +109,7 @@ rangeCursors[i].next(); if (((ILSMTreeTupleReference) rangeCursors[i].getTuple()).isAntimatter()) { searchCallback.cancel(predicate.getLowKey()); - rangeCursors[i].close(); + rangeCursors[i].destroy(); return false; } else { frameTuple = rangeCursors[i].getTuple(); @@ -121,7 +120,7 @@ } } else { searchCallback.cancel(predicate.getLowKey()); - rangeCursors[i].close(); + rangeCursors[i].destroy(); } } else { frameTuple = rangeCursors[i].getTuple(); @@ -132,18 +131,18 @@ return true; } } else { - rangeCursors[i].close(); + rangeCursors[i].destroy(); } } return false; } @Override - public void reset() throws HyracksDataException { + public void close() throws HyracksDataException { try { if (rangeCursors != null) { for (int i = 0; i < rangeCursors.length; ++i) { - rangeCursors[i].reset(); + rangeCursors[i].close(); } } nextHasBeenCalled = false; @@ -182,7 +181,7 @@ rangeCursors[i] = new BTreeRangeSearchCursor(leafFrame, false); } else { // reset - rangeCursors[i].reset(); + rangeCursors[i].close(); } btree = ((LSMBTreeMemoryComponent) component).getIndex(); // no bloom filter for in-memory BTree @@ -190,7 +189,7 @@ } else { if (rangeCursors[i] != null) { // can re-use cursor - rangeCursors[i].reset(); + rangeCursors[i].close(); } else { // create new cursor IBTreeLeafFrame leafFrame = (IBTreeLeafFrame) lsmInitialState.getLeafFrameFactory().createFrame(); @@ -216,7 +215,7 @@ } @Override - public void close() throws HyracksDataException { + public void destroy() throws HyracksDataException { if (lsmHarness != null) { try { closeCursors(); @@ -253,26 +252,11 @@ return null; } - @Override - public void setBufferCache(IBufferCache bufferCache) { - // do nothing - } - - @Override - public void setFileId(int fileId) { - // do nothing - } - - @Override - public boolean isExclusiveLatchNodes() { - return false; - } - private void closeCursors() throws HyracksDataException { if (rangeCursors != null) { for (int i = 0; i < numBTrees; ++i) { if (rangeCursors[i] != null) { - rangeCursors[i].close(); + rangeCursors[i].destroy(); } } } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java index 876bc6d..36ca87f 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java @@ -66,8 +66,8 @@ } @Override - public void reset() throws HyracksDataException { - super.reset(); + public void close() throws HyracksDataException { + super.close(); canCallProceed = true; } @@ -117,7 +117,7 @@ TupleUtils.copyTuple(tupleBuilder, queueHead.getTuple(), cmp.getKeyFieldCount()); copyTuple.reset(tupleBuilder.getFieldEndOffsets(), tupleBuilder.getByteArray()); // Unlatches/unpins the leaf page of the index. - rangeCursors[0].reset(); + rangeCursors[0].close(); // Reconcile. searchCallback.reconcile(copyTuple); // Re-traverses the index. @@ -220,7 +220,7 @@ copyTuple.reset(switchComponentTupleBuilders[i].getFieldEndOffsets(), switchComponentTupleBuilders[i].getByteArray()); reusablePred.setLowKey(copyTuple, true); - rangeCursors[i].reset(); + rangeCursors[i].close(); btreeAccessors[i].reset(btree, NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); btreeAccessors[i].search(rangeCursors[i], reusablePred); pushIntoQueueFromCursorAndReplaceThisElement(switchedElements[i]); @@ -268,8 +268,8 @@ } TupleUtils.copyTuple(switchComponentTupleBuilders[i], element.getTuple(), cmp.getKeyFieldCount()); } - rangeCursors[i].reset(); rangeCursors[i].close(); + rangeCursors[i].destroy(); switchRequest[i] = true; switchedElements[i] = element; } @@ -296,7 +296,7 @@ TupleUtils.copyTuple(tupleBuilder, mutableElement.getTuple(), cmp.getKeyFieldCount()); copyTuple.reset(tupleBuilder.getFieldEndOffsets(), tupleBuilder.getByteArray()); // Unlatches/unpins the leaf page of the index. - rangeCursors[0].reset(); + rangeCursors[0].close(); // Re-traverses the index. reusablePred.setLowKey(copyTuple, true); btreeAccessors[0].search(rangeCursors[0], reusablePred); @@ -347,7 +347,7 @@ rangeCursors[i] = new BTreeRangeSearchCursor(leafFrame, false); } else { // re-use - rangeCursors[i].reset(); + rangeCursors[i].close(); } if (component.getType() == LSMComponentType.MEMORY) { diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeSearchCursor.java index fef8afe..fa06d07 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeSearchCursor.java @@ -22,13 +22,12 @@ import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; import org.apache.hyracks.storage.am.btree.impls.RangePredicate; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIndexOperationContext; import org.apache.hyracks.storage.common.ICursorInitialState; +import org.apache.hyracks.storage.common.IIndexCursor; import org.apache.hyracks.storage.common.ISearchPredicate; -import org.apache.hyracks.storage.common.buffercache.IBufferCache; -public class LSMBTreeSearchCursor implements ITreeIndexCursor { +public class LSMBTreeSearchCursor implements IIndexCursor { public enum LSMBTreeSearchType { POINT, @@ -38,7 +37,7 @@ private final LSMBTreePointSearchCursor pointCursor; private final LSMBTreeRangeSearchCursor rangeCursor; private final LSMBTreeDiskComponentScanCursor scanCursor; - private ITreeIndexCursor currentCursor; + private IIndexCursor currentCursor; public LSMBTreeSearchCursor(ILSMIndexOperationContext opCtx) { pointCursor = new LSMBTreePointSearchCursor(opCtx); @@ -72,17 +71,17 @@ } @Override - public void close() throws HyracksDataException { + public void destroy() throws HyracksDataException { if (currentCursor != null) { - currentCursor.close(); + currentCursor.destroy(); } currentCursor = null; } @Override - public void reset() throws HyracksDataException { + public void close() throws HyracksDataException { if (currentCursor != null) { - currentCursor.reset(); + currentCursor.close(); } currentCursor = null; } @@ -101,21 +100,4 @@ public ITupleReference getFilterMaxTuple() { return currentCursor.getFilterMaxTuple(); } - - @Override - public void setBufferCache(IBufferCache bufferCache) { - currentCursor.setBufferCache(bufferCache); - } - - @Override - public void setFileId(int fileId) { - currentCursor.setFileId(fileId); - - } - - @Override - public boolean isExclusiveLatchNodes() { - return currentCursor.isExclusiveLatchNodes(); - } - } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyAbstractCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyAbstractCursor.java index f619a52..50aeefb 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyAbstractCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyAbstractCursor.java @@ -36,11 +36,11 @@ import org.apache.hyracks.storage.am.lsm.common.api.ILSMHarness; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIndexOperationContext; import org.apache.hyracks.storage.common.ICursorInitialState; +import org.apache.hyracks.storage.common.IIndexCursor; import org.apache.hyracks.storage.common.ISearchPredicate; import org.apache.hyracks.storage.common.MultiComparator; -import org.apache.hyracks.storage.common.buffercache.IBufferCache; -public abstract class LSMBTreeWithBuddyAbstractCursor implements ITreeIndexCursor { +public abstract class LSMBTreeWithBuddyAbstractCursor implements IIndexCursor { protected boolean open; protected BTreeRangeSearchCursor[] btreeCursors; @@ -107,7 +107,7 @@ buddyBtreeCursors[i] = new BTreeRangeSearchCursor( (IBTreeLeafFrame) lsmInitialState.getBuddyBTreeLeafFrameFactory().createFrame(), false); } else { - buddyBtreeCursors[i].reset(); + buddyBtreeCursors[i].close(); } btree = ((LSMBTreeWithBuddyMemoryComponent) component).getIndex(); buddyBtree = ((LSMBTreeWithBuddyMemoryComponent) component).getBuddyIndex(); @@ -117,7 +117,7 @@ buddyBtreeCursors[i] = new BTreeRangeSearchCursor( (IBTreeLeafFrame) lsmInitialState.getBuddyBTreeLeafFrameFactory().createFrame(), false); } else { - buddyBtreeCursors[i].reset(); + buddyBtreeCursors[i].close(); } btree = ((LSMBTreeWithBuddyDiskComponent) component).getIndex(); buddyBtree = ((LSMBTreeWithBuddyDiskComponent) component).getBuddyIndex(); @@ -129,7 +129,7 @@ btreeAccessors[i] = btree.createAccessor(NoOpIndexAccessParameters.INSTANCE); buddyBtreeAccessors[i] = buddyBtree.createAccessor(NoOpIndexAccessParameters.INSTANCE); } else { - btreeCursors[i].reset(); + btreeCursors[i].close(); btreeAccessors[i].reset(btree, NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); buddyBtreeAccessors[i].reset(buddyBtree, NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); @@ -141,15 +141,15 @@ } @Override - public void close() throws HyracksDataException { + public void destroy() throws HyracksDataException { if (!open) { return; } try { if (btreeCursors != null && buddyBtreeCursors != null) { for (int i = 0; i < numberOfTrees; i++) { - btreeCursors[i].close(); - buddyBtreeCursors[i].close(); + btreeCursors[i].destroy(); + buddyBtreeCursors[i].destroy(); } } btreeCursors = null; @@ -165,20 +165,4 @@ public ITupleReference getTuple() { return frameTuple; } - - @Override - public void setBufferCache(IBufferCache bufferCache) { - // Do nothing - } - - @Override - public void setFileId(int fileId) { - // Do nothing - } - - @Override - public boolean isExclusiveLatchNodes() { - return false; - } - } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyMergeOperation.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyMergeOperation.java index f682bde..14cf778 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyMergeOperation.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyMergeOperation.java @@ -19,10 +19,10 @@ package org.apache.hyracks.storage.am.lsm.btree.impls; import org.apache.hyracks.api.io.FileReference; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallback; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIndexAccessor; import org.apache.hyracks.storage.am.lsm.common.impls.MergeOperation; +import org.apache.hyracks.storage.common.IIndexCursor; public class LSMBTreeWithBuddyMergeOperation extends MergeOperation { @@ -30,7 +30,7 @@ private final FileReference bloomFilterMergeTarget; private final boolean keepDeletedTuples; - public LSMBTreeWithBuddyMergeOperation(ILSMIndexAccessor accessor, ITreeIndexCursor cursor, FileReference target, + public LSMBTreeWithBuddyMergeOperation(ILSMIndexAccessor accessor, IIndexCursor cursor, FileReference target, FileReference buddyBtreeMergeTarget, FileReference bloomFilterMergeTarget, ILSMIOOperationCallback callback, String indexIdentifier, boolean keepDeletedTuples) { super(accessor, target, callback, indexIdentifier, cursor); diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddySearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddySearchCursor.java index 503182a..c7f5cea 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddySearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddySearchCursor.java @@ -37,13 +37,13 @@ } @Override - public void close() throws HyracksDataException { - super.close(); + public void destroy() throws HyracksDataException { + super.destroy(); currentCursor = 0; } @Override - public void reset() throws HyracksDataException { + public void close() throws HyracksDataException { if (!open) { return; } @@ -52,8 +52,8 @@ foundNext = false; try { for (int i = 0; i < numberOfTrees; i++) { - btreeCursors[i].close(); - buddyBtreeCursors[i].close(); + btreeCursors[i].destroy(); + buddyBtreeCursors[i].destroy(); } btreeCursors = null; buddyBtreeCursors = null; @@ -64,7 +64,7 @@ private void searchNextCursor() throws HyracksDataException { if (currentCursor < numberOfTrees) { - btreeCursors[currentCursor].reset(); + btreeCursors[currentCursor].close(); btreeAccessors[currentCursor].search(btreeCursors[currentCursor], btreeRangePredicate); } } @@ -85,7 +85,7 @@ && !buddyBtreeBloomFilters[i].contains(buddyBTreeTuple, hashes)) { continue; } - buddyBtreeCursors[i].reset(); + buddyBtreeCursors[i].close(); buddyBtreeRangePredicate.setHighKey(buddyBTreeTuple, true); buddyBtreeRangePredicate.setLowKey(buddyBTreeTuple, true); buddyBtreeAccessors[i].search(buddyBtreeCursors[i], buddyBtreeRangePredicate); @@ -94,7 +94,7 @@ killerTupleFound = true; } } finally { - buddyBtreeCursors[i].close(); + buddyBtreeCursors[i].destroy(); } } if (!killerTupleFound) { @@ -103,7 +103,7 @@ return true; } } - btreeCursors[currentCursor].close(); + btreeCursors[currentCursor].destroy(); currentCursor++; searchNextCursor(); } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddySortedCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddySortedCursor.java index 8fd3a83..d889622 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddySortedCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddySortedCursor.java @@ -39,7 +39,7 @@ throws HyracksDataException { super(opCtx); this.buddyBtreeTuple = new PermutingTupleReference(buddyBTreeFields); - reset(); + close(); } public ILSMIndexOperationContext getOpCtx() { @@ -47,12 +47,12 @@ } @Override - public void reset() throws HyracksDataException { + public void close() throws HyracksDataException { depletedBtreeCursors = new boolean[numberOfTrees]; foundNext = false; try { for (int i = 0; i < numberOfTrees; i++) { - btreeCursors[i].reset(); + btreeCursors[i].close(); btreeAccessors[i].search(btreeCursors[i], btreeRangePredicate); if (btreeCursors[i].hasNext()) { btreeCursors[i].next(); @@ -127,7 +127,7 @@ boolean killed = false; buddyBtreeTuple.reset(frameTuple); for (int i = 0; i < foundIn; i++) { - buddyBtreeCursors[i].reset(); + buddyBtreeCursors[i].close(); buddyBtreeRangePredicate.setHighKey(buddyBtreeTuple, true); btreeRangePredicate.setLowKey(buddyBtreeTuple, true); btreeAccessors[i].search(btreeCursors[i], btreeRangePredicate); @@ -137,7 +137,7 @@ break; } } finally { - btreeCursors[i].close(); + btreeCursors[i].destroy(); } } if (!killed) { @@ -160,7 +160,7 @@ depletedBtreeCursors = new boolean[numberOfTrees]; foundNext = false; for (int i = 0; i < numberOfTrees; i++) { - btreeCursors[i].reset(); + btreeCursors[i].close(); btreeAccessors[i].search(btreeCursors[i], btreeRangePredicate); if (btreeCursors[i].hasNext()) { btreeCursors[i].next(); diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndex.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndex.java index 6115ba6..e9f410d 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndex.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndex.java @@ -293,7 +293,6 @@ @Override public void getOperationalComponents(ILSMIndexOperationContext ctx) throws HyracksDataException { - List immutableComponents = diskComponents; List operationalComponents = ctx.getComponentHolder(); int cmc = currentMutableComponentId.get(); ctx.setCurrentMutableComponentId(cmc); @@ -309,14 +308,15 @@ break; case INSERT: addOperationalMutableComponents(operationalComponents, true); - operationalComponents.addAll(immutableComponents); + operationalComponents.addAll(diskComponents); break; case SEARCH: if (memoryComponentsAllocated) { addOperationalMutableComponents(operationalComponents, false); } if (filterManager != null) { - for (ILSMComponent c : immutableComponents) { + for (int i = 0; i < diskComponents.size(); i++) { + ILSMComponent c = diskComponents.get(i); if (c.getLSMComponentFilter().satisfy( ((AbstractSearchPredicate) ctx.getSearchPredicate()).getMinFilterTuple(), ((AbstractSearchPredicate) ctx.getSearchPredicate()).getMaxFilterTuple(), @@ -325,7 +325,7 @@ } } } else { - operationalComponents.addAll(immutableComponents); + operationalComponents.addAll(diskComponents); } break; @@ -334,13 +334,13 @@ operationalComponents.addAll(ctx.getComponentsToBeMerged()); break; case FULL_MERGE: - operationalComponents.addAll(immutableComponents); + operationalComponents.addAll(diskComponents); break; case REPLICATE: operationalComponents.addAll(ctx.getComponentsToBeReplicated()); break; case DISK_COMPONENT_SCAN: - operationalComponents.addAll(immutableComponents); + operationalComponents.addAll(diskComponents); break; default: throw new UnsupportedOperationException("Operation " + ctx.getOperation() + " not supported."); 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 e37669e..2ba8a88 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 @@ -26,7 +26,6 @@ import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; 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; @@ -34,9 +33,8 @@ import org.apache.hyracks.storage.am.lsm.common.api.ILSMTreeTupleReference; import org.apache.hyracks.storage.common.IIndexCursor; import org.apache.hyracks.storage.common.MultiComparator; -import org.apache.hyracks.storage.common.buffercache.IBufferCache; -public abstract class LSMIndexSearchCursor implements ITreeIndexCursor { +public abstract class LSMIndexSearchCursor implements IIndexCursor { protected static final int SWITCH_COMPONENT_CYCLE = 100; protected final ILSMIndexOperationContext opCtx; protected final boolean returnDeletedTuples; @@ -107,7 +105,7 @@ } @Override - public void reset() throws HyracksDataException { + public void close() throws HyracksDataException { hasNextCallCount = 0; switchPossible = true; outputElement = null; @@ -122,7 +120,7 @@ if (rangeCursors != null) { for (int i = 0; i < rangeCursors.length; i++) { - rangeCursors[i].reset(); + rangeCursors[i].close(); } } rangeCursors = null; @@ -147,7 +145,7 @@ } @Override - public void close() throws HyracksDataException { + public void destroy() throws HyracksDataException { try { if (outputPriorityQueue != null) { outputPriorityQueue.clear(); @@ -155,7 +153,7 @@ if (rangeCursors != null) { for (int i = 0; i < rangeCursors.length; i++) { if (rangeCursors[i] != null) { - rangeCursors[i].close(); + rangeCursors[i].destroy(); } } rangeCursors = null; @@ -165,16 +163,6 @@ lsmHarness.endSearch(opCtx); } } - } - - @Override - public void setBufferCache(IBufferCache bufferCache) { - // do nothing - } - - @Override - public void setFileId(int fileId) { - // do nothing } @Override @@ -202,7 +190,7 @@ outputPriorityQueue.offer(e); return; } - rangeCursors[cursorIndex].close(); + rangeCursors[cursorIndex].destroy(); if (cursorIndex == 0) { includeMutableComponent = false; } @@ -255,11 +243,6 @@ outputElement = null; } } - } - - @Override - public boolean isExclusiveLatchNodes() { - return false; } public class PriorityQueueElement { diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMTreeIndexAccessor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMTreeIndexAccessor.java index c0fd443..4770d7c 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMTreeIndexAccessor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMTreeIndexAccessor.java @@ -27,7 +27,6 @@ import org.apache.hyracks.dataflow.common.comm.io.FrameTupleAccessor; import org.apache.hyracks.dataflow.common.data.accessors.FrameTupleReference; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.common.ophelpers.IndexOperation; import org.apache.hyracks.storage.am.lsm.common.api.IFrameOperationCallback; import org.apache.hyracks.storage.am.lsm.common.api.IFrameTupleProcessor; @@ -45,7 +44,7 @@ public class LSMTreeIndexAccessor implements ILSMIndexAccessor { @FunctionalInterface public interface ICursorFactory { - ITreeIndexCursor create(ILSMIndexOperationContext ctx); + IIndexCursor create(ILSMIndexOperationContext ctx); } protected final ILSMHarness lsmHarness; @@ -201,7 +200,7 @@ } @Override - public ITreeIndexCursor createSearchCursor(boolean exclusive) { + public IIndexCursor createSearchCursor(boolean exclusive) { return cursorFactory.create(ctx); } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndex.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndex.java index 01f0f1a..05561f2 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndex.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndex.java @@ -294,7 +294,7 @@ numBTreeTuples = IntegerPointable.getInteger(countTuple.getFieldData(0), countTuple.getFieldStart(0)); } } finally { - btreeCountingCursor.close(); + btreeCountingCursor.destroy(); } ILSMDiskComponentBulkLoader componentBulkLoader = @@ -310,7 +310,7 @@ componentBulkLoader.delete(deletedKeysScanCursor.getTuple()); } } finally { - deletedKeysScanCursor.close(); + deletedKeysScanCursor.destroy(); } // Scan the in-memory inverted index @@ -327,7 +327,7 @@ componentBulkLoader.add(scanCursor.getTuple()); } } finally { - scanCursor.close(); + scanCursor.destroy(); } if (component.getLSMComponentFilter() != null) { List filterTuples = new ArrayList<>(); @@ -383,7 +383,7 @@ componentBulkLoader.delete(tuple); } } finally { - btreeCursor.close(); + btreeCursor.destroy(); } } else { componentBulkLoader = component.createBulkLoader(1.0f, false, 0L, false, false, false); @@ -396,7 +396,7 @@ componentBulkLoader.add(tuple); } } finally { - cursor.close(); + cursor.destroy(); } if (component.getLSMComponentFilter() != null) { List filterTuples = new ArrayList<>(); diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexRangeSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexRangeSearchCursor.java index d565b9a..4afccef 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexRangeSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexRangeSearchCursor.java @@ -106,14 +106,14 @@ if (bloomFilters[i] != null && bloomFilters[i].contains(keysOnlyTuple, hashes)) { continue; } - deletedKeysBTreeCursors[i].reset(); + deletedKeysBTreeCursors[i].close(); try { deletedKeysBTreeAccessors.get(i).search(deletedKeysBTreeCursors[i], keySearchPred); if (deletedKeysBTreeCursors[i].hasNext()) { return true; } } finally { - deletedKeysBTreeCursors[i].close(); + deletedKeysBTreeCursors[i].destroy(); } } return false; diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexSearchCursor.java index c214a2c..14ea6e1 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexSearchCursor.java @@ -98,7 +98,7 @@ keySearchPred.setLowKey(key, true); keySearchPred.setHighKey(key, true); for (int i = 0; i < accessorIndex; i++) { - deletedKeysBTreeCursors[i].reset(); + deletedKeysBTreeCursors[i].close(); if (deletedKeysBTreeBloomFilters[i] != null && !deletedKeysBTreeBloomFilters[i].contains(key, hashes)) { continue; } @@ -108,7 +108,7 @@ return true; } } finally { - deletedKeysBTreeCursors[i].close(); + deletedKeysBTreeCursors[i].destroy(); } } return false; @@ -147,7 +147,7 @@ if (nextValidTuple()) { return true; } - currentCursor.close(); + currentCursor.destroy(); accessorIndex++; } while (accessorIndex < indexAccessors.size()) { @@ -159,7 +159,7 @@ return true; } // Close as we go to release resources. - currentCursor.close(); + currentCursor.destroy(); accessorIndex++; } return false; @@ -172,15 +172,15 @@ } @Override - public void close() throws HyracksDataException { - reset(); + public void destroy() throws HyracksDataException { + close(); } @Override - public void reset() throws HyracksDataException { + public void close() throws HyracksDataException { try { if (currentCursor != null) { - currentCursor.close(); + currentCursor.destroy(); currentCursor = null; } accessorIndex = 0; diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedListCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedListCursor.java index 7078c4b..7bf5322 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedListCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedListCursor.java @@ -91,8 +91,8 @@ tokenTuple.reset(tokenTupleBuilder.getFieldEndOffsets(), tokenTupleBuilder.getByteArray()); btreeSearchTuple.reset(); btreeSearchTuple.addTuple(tokenTuple); - btreeCursor.reset(); - countingCursor.reset(); + btreeCursor.close(); + countingCursor.close(); } @Override @@ -113,7 +113,7 @@ @Override public void unpinPages() throws HyracksDataException { if (cursorNeedsClose) { - btreeCursor.close(); + btreeCursor.destroy(); cursorNeedsClose = false; } } @@ -154,7 +154,7 @@ e.printStackTrace(); } finally { try { - countingCursor.close(); + countingCursor.destroy(); } catch (HyracksDataException e) { e.printStackTrace(); } @@ -197,8 +197,8 @@ try { containsKey = btreeCursor.hasNext(); } finally { + btreeCursor.destroy(); btreeCursor.close(); - btreeCursor.reset(); btreeSearchTuple.removeLastTuple(); } return containsKey; @@ -219,8 +219,8 @@ strBuilder.append(o.toString() + " "); } } finally { + btreeCursor.destroy(); btreeCursor.close(); - btreeCursor.reset(); } btreeAccessor.search(btreeCursor, btreePred); return strBuilder.toString(); diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndex.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndex.java index 5301fa1..8db298d 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndex.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndex.java @@ -205,8 +205,8 @@ listCursor.reset(0, 0, 0, 0); } } finally { + ctx.getBtreeCursor().destroy(); ctx.getBtreeCursor().close(); - ctx.getBtreeCursor().reset(); } } @@ -589,7 +589,7 @@ } } } finally { - btreeCursor.close(); + btreeCursor.destroy(); } } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexRangeSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexRangeSearchCursor.java index b2aff3a..632d739 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexRangeSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexRangeSearchCursor.java @@ -109,21 +109,21 @@ } @Override + public void destroy() throws HyracksDataException { + if (unpinNeeded) { + invListCursor.unpinPages(); + unpinNeeded = false; + } + btreeCursor.destroy(); + } + + @Override public void close() throws HyracksDataException { if (unpinNeeded) { invListCursor.unpinPages(); unpinNeeded = false; } - btreeCursor.close(); - } - - @Override - public void reset() throws HyracksDataException { - if (unpinNeeded) { - invListCursor.unpinPages(); - unpinNeeded = false; - } - btreeCursor.close(); + btreeCursor.destroy(); } @Override diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexSearchCursor.java index af5a187..1aab6e1 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexSearchCursor.java @@ -104,7 +104,7 @@ } @Override - public void reset() { + public void close() { currentBufferIndex = 0; tupleIndex = 0; invIndexSearcher.reset(); @@ -113,7 +113,7 @@ } @Override - public void close() throws HyracksDataException { + public void destroy() throws HyracksDataException { currentBufferIndex = 0; tupleIndex = 0; resultBuffers = null; diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/PartitionedOnDiskInvertedIndex.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/PartitionedOnDiskInvertedIndex.java index a33d6d3..01e0684 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/PartitionedOnDiskInvertedIndex.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/PartitionedOnDiskInvertedIndex.java @@ -102,8 +102,8 @@ tokenExists = true; } } finally { + ctx.getBtreeCursor().destroy(); ctx.getBtreeCursor().close(); - ctx.getBtreeCursor().reset(); } return tokenExists; } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/ExternalRTree.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/ExternalRTree.java index 6f61935..e23a83e 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/ExternalRTree.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/ExternalRTree.java @@ -32,7 +32,6 @@ import org.apache.hyracks.storage.am.btree.impls.BTree; import org.apache.hyracks.storage.am.btree.impls.BTree.BTreeBulkLoader; import org.apache.hyracks.storage.am.common.api.IIndexOperationContext; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.common.api.ITreeIndexFrameFactory; import org.apache.hyracks.storage.am.common.api.ITwoPCIndexBulkLoader; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; @@ -67,8 +66,6 @@ * This is an lsm r-tree that does not have memory component and is modified * only by bulk loading and addition of disk components as of this point, it is * intended for use with external dataset indexes only. - * - * @author alamouda */ public class ExternalRTree extends LSMRTree implements ITwoPCIndex { @@ -301,7 +298,7 @@ builder.add(tuple); } } finally { - btreeCursor.close(); + btreeCursor.destroy(); builder.end(); } btreeBulkLoader.end(); @@ -315,7 +312,7 @@ bulkLoader.add(frameTuple); } } finally { - cursor.close(); + cursor.destroy(); } bulkLoader.end(); return mergedComponent; @@ -584,7 +581,7 @@ ILSMIndexOperationContext rctx = createOpContext(NoOpOperationCallback.INSTANCE, -1); rctx.setOperation(IndexOperation.MERGE); List mergingComponents = ctx.getComponentHolder(); - ITreeIndexCursor cursor = new LSMRTreeSortedCursor(rctx, linearizer, buddyBTreeFields); + LSMRTreeSortedCursor cursor = new LSMRTreeSortedCursor(rctx, linearizer, buddyBTreeFields); LSMComponentFileReferences relMergeFileRefs = getMergeFileReferences((ILSMDiskComponent) mergingComponents.get(0), (ILSMDiskComponent) mergingComponents.get(mergingComponents.size() - 1)); diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTree.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTree.java index 9712b7c..123b38d 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTree.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTree.java @@ -140,7 +140,7 @@ numBTreeTuples = IntegerPointable.getInteger(countTuple.getFieldData(0), countTuple.getFieldStart(0)); } } finally { - btreeCountingCursor.close(); + btreeCountingCursor.destroy(); } ILSMDiskComponentBulkLoader componentBulkLoader = @@ -163,7 +163,7 @@ rTreeTupleSorter.insertTupleEntry(rtreeScanCursor.getPageId(), rtreeScanCursor.getTupleOffset()); } } finally { - rtreeScanCursor.close(); + rtreeScanCursor.destroy(); } rTreeTupleSorter.sort(); @@ -177,7 +177,7 @@ componentBulkLoader.add(frameTuple); } } finally { - cursor.close(); + cursor.destroy(); } } @@ -191,7 +191,7 @@ componentBulkLoader.delete(frameTuple); } } finally { - btreeScanCursor.close(); + btreeScanCursor.destroy(); } if (component.getLSMComponentFilter() != null) { @@ -241,7 +241,7 @@ componentBulkLoader.delete(tuple); } } finally { - btreeCursor.close(); + btreeCursor.destroy(); } } else { //no buddy-btree needed @@ -256,7 +256,7 @@ componentBulkLoader.add(frameTuple); } } finally { - cursor.close(); + cursor.destroy(); } if (mergedComponent.getLSMComponentFilter() != null) { @@ -331,7 +331,7 @@ @Override protected ILSMIOOperation createMergeOperation(AbstractLSMIndexOperationContext opCtx, LSMComponentFileReferences mergeFileRefs, ILSMIOOperationCallback callback) throws HyracksDataException { - ITreeIndexCursor cursor = new LSMRTreeSortedCursor(opCtx, linearizer, buddyBTreeFields); + LSMRTreeSortedCursor cursor = new LSMRTreeSortedCursor(opCtx, linearizer, buddyBTreeFields); ILSMIndexAccessor accessor = new LSMRTreeAccessor(getHarness(), opCtx, buddyBTreeFields); return new LSMRTreeMergeOperation(accessor, cursor, mergeFileRefs.getInsertIndexFileReference(), mergeFileRefs.getDeleteIndexFileReference(), mergeFileRefs.getBloomFilterFileReference(), callback, diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeAbstractCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeAbstractCursor.java index 2d2b548..8baa3b5 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeAbstractCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeAbstractCursor.java @@ -28,7 +28,6 @@ import org.apache.hyracks.storage.am.btree.impls.BTree.BTreeAccessor; import org.apache.hyracks.storage.am.btree.impls.BTreeRangeSearchCursor; import org.apache.hyracks.storage.am.btree.impls.RangePredicate; -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.impls.NoOpOperationCallback; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponent; @@ -42,11 +41,11 @@ import org.apache.hyracks.storage.am.rtree.impls.RTreeSearchCursor; import org.apache.hyracks.storage.am.rtree.impls.SearchPredicate; import org.apache.hyracks.storage.common.ICursorInitialState; +import org.apache.hyracks.storage.common.IIndexCursor; import org.apache.hyracks.storage.common.ISearchPredicate; import org.apache.hyracks.storage.common.MultiComparator; -import org.apache.hyracks.storage.common.buffercache.IBufferCache; -public abstract class LSMRTreeAbstractCursor implements ITreeIndexCursor { +public abstract class LSMRTreeAbstractCursor implements IIndexCursor { protected boolean open; protected RTreeSearchCursor[] rtreeCursors; @@ -111,7 +110,7 @@ (IBTreeLeafFrame) lsmInitialState.getBTreeLeafFrameFactory().createFrame(), false); } else { //re-use - btreeCursors[i].reset(); + btreeCursors[i].close(); } rtree = ((LSMRTreeMemoryComponent) component).getIndex(); btree = ((LSMRTreeMemoryComponent) component).getBuddyIndex(); @@ -122,8 +121,8 @@ btreeCursors[i] = new BTreeRangeSearchCursor( (IBTreeLeafFrame) lsmInitialState.getBTreeLeafFrameFactory().createFrame(), false); } else { - // reset - btreeCursors[i].reset(); + // close + btreeCursors[i].close(); } rtree = ((LSMRTreeDiskComponent) component).getIndex(); btree = ((LSMRTreeDiskComponent) component).getBuddyIndex(); @@ -134,7 +133,7 @@ (IRTreeInteriorFrame) lsmInitialState.getRTreeInteriorFrameFactory().createFrame(), (IRTreeLeafFrame) lsmInitialState.getRTreeLeafFrameFactory().createFrame()); } else { - rtreeCursors[i].reset(); + rtreeCursors[i].close(); } if (rtreeAccessors[i] == null) { rtreeAccessors[i] = rtree.createAccessor(NoOpIndexAccessParameters.INSTANCE); @@ -153,7 +152,7 @@ } @Override - public void close() throws HyracksDataException { + public void destroy() throws HyracksDataException { if (!open) { return; } @@ -161,8 +160,8 @@ try { if (rtreeCursors != null && btreeCursors != null) { for (int i = 0; i < numberOfTrees; i++) { - rtreeCursors[i].close(); - btreeCursors[i].close(); + rtreeCursors[i].destroy(); + btreeCursors[i].destroy(); } } rtreeCursors = null; @@ -175,24 +174,10 @@ open = false; } - @Override - public void setBufferCache(IBufferCache bufferCache) { - // do nothing - } - - @Override - public void setFileId(int fileId) { - // do nothing - } @Override public ITupleReference getTuple() { return frameTuple; - } - - @Override - public boolean isExclusiveLatchNodes() { - return false; } } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeMergeOperation.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeMergeOperation.java index 83872cf..572ff01 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeMergeOperation.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeMergeOperation.java @@ -19,16 +19,16 @@ package org.apache.hyracks.storage.am.lsm.rtree.impls; import org.apache.hyracks.api.io.FileReference; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallback; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIndexAccessor; import org.apache.hyracks.storage.am.lsm.common.impls.MergeOperation; +import org.apache.hyracks.storage.common.IIndexCursor; public class LSMRTreeMergeOperation extends MergeOperation { private final FileReference btreeMergeTarget; private final FileReference bloomFilterMergeTarget; - public LSMRTreeMergeOperation(ILSMIndexAccessor accessor, ITreeIndexCursor cursor, FileReference target, + public LSMRTreeMergeOperation(ILSMIndexAccessor accessor, IIndexCursor cursor, FileReference target, FileReference btreeMergeTarget, FileReference bloomFilterMergeTarget, ILSMIOOperationCallback callback, String indexIdentifier) { super(accessor, target, callback, indexIdentifier, cursor); diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeSearchCursor.java index 06c39db..0edf22f 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeSearchCursor.java @@ -39,13 +39,13 @@ } @Override - public void close() throws HyracksDataException { - super.close(); + public void destroy() throws HyracksDataException { + super.destroy(); currentCursor = 0; } @Override - public void reset() throws HyracksDataException { + public void close() throws HyracksDataException { if (!open) { return; } @@ -54,8 +54,8 @@ foundNext = false; try { for (int i = 0; i < numberOfTrees; i++) { - rtreeCursors[i].close(); - btreeCursors[i].close(); + rtreeCursors[i].destroy(); + btreeCursors[i].destroy(); } rtreeCursors = null; btreeCursors = null; @@ -82,7 +82,7 @@ private void searchNextCursor() throws HyracksDataException { if (currentCursor < numberOfTrees) { - rtreeCursors[currentCursor].reset(); + rtreeCursors[currentCursor].close(); rtreeAccessors[currentCursor].search(rtreeCursors[currentCursor], rtreeSearchPredicate); } } @@ -102,7 +102,7 @@ if (bloomFilters[i] != null && bloomFilters[i].contains(btreeTuple, hashes)) { continue; } - btreeCursors[i].reset(); + btreeCursors[i].close(); btreeRangePredicate.setHighKey(btreeTuple, true); btreeRangePredicate.setLowKey(btreeTuple, true); btreeAccessors[i].search(btreeCursors[i], btreeRangePredicate); @@ -111,7 +111,7 @@ killerTupleFound = true; } } finally { - btreeCursors[i].close(); + btreeCursors[i].destroy(); } } if (!killerTupleFound) { @@ -120,7 +120,7 @@ return true; } } - rtreeCursors[currentCursor].close(); + rtreeCursors[currentCursor].destroy(); currentCursor++; searchNextCursor(); } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeSortedCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeSortedCursor.java index e3f74d3..d66e882 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeSortedCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeSortedCursor.java @@ -43,7 +43,7 @@ super(opCtx); this.linearizeCmp = linearizer.createBinaryComparator(); this.btreeTuple = new PermutingTupleReference(buddyBTreeFields); - reset(); + close(); } public ILSMIndexOperationContext getOpCtx() { @@ -51,12 +51,12 @@ } @Override - public void reset() throws HyracksDataException { + public void close() throws HyracksDataException { depletedRtreeCursors = new boolean[numberOfTrees]; foundNext = false; try { for (int i = 0; i < numberOfTrees; i++) { - rtreeCursors[i].reset(); + rtreeCursors[i].close(); rtreeAccessors[i].search(rtreeCursors[i], rtreeSearchPredicate); if (rtreeCursors[i].hasNext()) { rtreeCursors[i].next(); @@ -128,7 +128,7 @@ boolean killed = false; btreeTuple.reset(frameTuple); for (int i = 0; i < foundIn; i++) { - btreeCursors[i].reset(); + btreeCursors[i].close(); btreeRangePredicate.setHighKey(btreeTuple, true); btreeRangePredicate.setLowKey(btreeTuple, true); btreeAccessors[i].search(btreeCursors[i], btreeRangePredicate); @@ -138,7 +138,7 @@ break; } } finally { - btreeCursors[i].close(); + btreeCursors[i].destroy(); } } if (!killed) { @@ -161,7 +161,7 @@ depletedRtreeCursors = new boolean[numberOfTrees]; foundNext = false; for (int i = 0; i < numberOfTrees; i++) { - rtreeCursors[i].reset(); + rtreeCursors[i].close(); rtreeAccessors[i].search(rtreeCursors[i], rtreeSearchPredicate); if (rtreeCursors[i].hasNext()) { rtreeCursors[i].next(); diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuples.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuples.java index 41e9b92..94d76f6 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuples.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuples.java @@ -30,7 +30,6 @@ import org.apache.hyracks.storage.am.btree.impls.BTree.BTreeAccessor; import org.apache.hyracks.storage.am.btree.impls.BTreeRangeSearchCursor; import org.apache.hyracks.storage.am.btree.impls.RangePredicate; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.common.api.ITreeIndexFrameFactory; import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.lsm.common.api.IComponentFilterHelper; @@ -116,7 +115,7 @@ rTreeTupleSorter.insertTupleEntry(rtreeScanCursor.getPageId(), rtreeScanCursor.getTupleOffset()); } } finally { - rtreeScanCursor.close(); + rtreeScanCursor.destroy(); } if (!isEmpty) { rTreeTupleSorter.sort(); @@ -140,7 +139,7 @@ bTreeTupleSorter.insertTupleEntry(btreeScanCursor.getPageId(), btreeScanCursor.getTupleOffset()); } } finally { - btreeScanCursor.close(); + btreeScanCursor.destroy(); } if (!isEmpty) { bTreeTupleSorter.sort(); @@ -158,7 +157,7 @@ componentBulkLoader.add(frameTuple); } } finally { - cursor.close(); + cursor.destroy(); } if (component.getLSMComponentFilter() != null) { @@ -194,7 +193,7 @@ componentBulkLoader.add(frameTuple); } } finally { - cursor.close(); + cursor.destroy(); } if (component.getLSMComponentFilter() != null) { List filterTuples = new ArrayList<>(); @@ -234,7 +233,8 @@ if (mergingComponents.get(mergingComponents.size() - 1) != diskComponents.get(diskComponents.size() - 1)) { returnDeletedTuples = true; } - ITreeIndexCursor cursor = new LSMRTreeWithAntiMatterTuplesSearchCursor(opCtx, returnDeletedTuples); + LSMRTreeWithAntiMatterTuplesSearchCursor cursor = + new LSMRTreeWithAntiMatterTuplesSearchCursor(opCtx, returnDeletedTuples); ILSMIndexAccessor accessor = new LSMTreeIndexAccessor(getHarness(), opCtx, cursorFactory); return new LSMRTreeMergeOperation(accessor, cursor, mergeFileRefs.getInsertIndexFileReference(), null, null, callback, fileManager.getBaseDir().getAbsolutePath()); diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuplesFlushCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuplesFlushCursor.java index af9fef6..121bac1 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuplesFlushCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuplesFlushCursor.java @@ -22,13 +22,12 @@ import org.apache.hyracks.api.dataflow.value.IBinaryComparatorFactory; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.common.ICursorInitialState; +import org.apache.hyracks.storage.common.IIndexCursor; import org.apache.hyracks.storage.common.ISearchPredicate; import org.apache.hyracks.storage.common.MultiComparator; -import org.apache.hyracks.storage.common.buffercache.IBufferCache; -public class LSMRTreeWithAntiMatterTuplesFlushCursor implements ITreeIndexCursor { +public class LSMRTreeWithAntiMatterTuplesFlushCursor implements IIndexCursor { private final TreeTupleSorter rTreeTupleSorter; private final TreeTupleSorter bTreeTupleSorter; private final int[] comparatorFields; @@ -130,11 +129,11 @@ } @Override - public void close() throws HyracksDataException { + public void destroy() throws HyracksDataException { } @Override - public void reset() throws HyracksDataException { + public void close() throws HyracksDataException { } @@ -153,18 +152,4 @@ return null; } - @Override - public void setBufferCache(IBufferCache bufferCache) { - - } - - @Override - public void setFileId(int fileId) { - - } - - @Override - public boolean isExclusiveLatchNodes() { - return false; - } } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuplesSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuplesSearchCursor.java index 2520eac..7ae72a9 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuplesSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuplesSearchCursor.java @@ -133,7 +133,7 @@ private void searchNextCursor() throws HyracksDataException { if (currentCursor < numMutableComponents) { - mutableRTreeCursors[currentCursor].reset(); + mutableRTreeCursors[currentCursor].close(); mutableRTreeAccessors[currentCursor].search(mutableRTreeCursors[currentCursor], rtreeSearchPredicate); } } @@ -161,7 +161,7 @@ return true; } } - mutableRTreeCursors[currentCursor].close(); + mutableRTreeCursors[currentCursor].destroy(); currentCursor++; searchNextCursor(); } @@ -216,7 +216,6 @@ return filter == null ? null : filter.getMaxTuple(); } - @Override public void next() throws HyracksDataException { foundNext = false; @@ -228,7 +227,7 @@ } @Override - public void reset() throws HyracksDataException { + public void close() throws HyracksDataException { if (!open) { return; } @@ -236,27 +235,27 @@ foundNext = false; if (includeMutableComponent) { for (int i = 0; i < numMutableComponents; i++) { - mutableRTreeCursors[i].reset(); - btreeCursors[i].reset(); + mutableRTreeCursors[i].close(); + btreeCursors[i].close(); } } - super.reset(); + super.close(); } @Override - public void close() throws HyracksDataException { + public void destroy() throws HyracksDataException { if (!open) { return; } if (includeMutableComponent) { for (int i = 0; i < numMutableComponents; i++) { - mutableRTreeCursors[i].close(); - btreeCursors[i].close(); + mutableRTreeCursors[i].destroy(); + btreeCursors[i].destroy(); } } currentCursor = 0; open = false; - super.close(); + super.destroy(); } @Override @@ -267,7 +266,7 @@ private boolean searchMemBTrees(ITupleReference tuple, int lastBTreeToSearch) throws HyracksDataException { for (int i = 0; i < lastBTreeToSearch; i++) { - btreeCursors[i].reset(); + btreeCursors[i].close(); btreeRangePredicate.setHighKey(tuple, true); btreeRangePredicate.setLowKey(tuple, true); btreeAccessors[i].search(btreeCursors[i], btreeRangePredicate); @@ -276,7 +275,7 @@ return false; } } finally { - btreeCursors[i].close(); + btreeCursors[i].destroy(); } } return true; diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/TreeTupleSorter.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/TreeTupleSorter.java index cad1f74..787bd67 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/TreeTupleSorter.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/TreeTupleSorter.java @@ -62,7 +62,7 @@ } @Override - public void reset() { + public void close() { numTuples = 0; currentTupleIndex = 0; } @@ -217,7 +217,7 @@ } @Override - public void close() throws HyracksDataException { + public void destroy() throws HyracksDataException { // do nothing } diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/impls/RTreeSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/impls/RTreeSearchCursor.java index 4302c61..f9bc59a 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/impls/RTreeSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/impls/RTreeSearchCursor.java @@ -62,7 +62,7 @@ } @Override - public void close() throws HyracksDataException { + public void destroy() throws HyracksDataException { if (readLatched) { page.releaseReadLatch(); bufferCache.unpin(page); @@ -249,8 +249,8 @@ } @Override - public void reset() throws HyracksDataException { - close(); + public void close() throws HyracksDataException { + destroy(); } @Override diff --git a/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexCursor.java index cd16210..57775d6 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexCursor.java @@ -22,6 +22,33 @@ import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; +/** + * Represents an index cursor. The expected use + * cursor = new cursor(); + * while (more predicates){ + * -cursor.open(predicate); + * -while (cursor.hasNext()){ + * --cursor.next() + * -} + * -cursor.close(); + * } + * cursor.destroy(); + * Each created cursor must have destroy called + * Each successfully opened cursor must have close called + * + * A cursor is a state machine that works as follows: + * The states are: + *
    + *
  • CLOSED
  • + *
  • OPENED
  • + *
  • DESTROYED
  • + *
+ * When a cursor object is created, it is in the CLOSED state. + * CLOSED: The only legal calls are open() --> OPENED, or destroy() --> DESTROYED + * OPENED: The only legal calls are hasNext(), next(), or close() --> CLOSED. + * DESTROYED: All calls are illegal. + * Cursors must enforce the cursor state machine + */ public interface IIndexCursor { /** * Opens the cursor @@ -49,19 +76,19 @@ void next() throws HyracksDataException; /** - * Closes the cursor + * Destroys the cursor allowing for release of resources. + * The cursor can't be used anymore after this call. + * + * @throws HyracksDataException + */ + void destroy() throws HyracksDataException; + + /** + * Close the cursor when done with it after a successful open * * @throws HyracksDataException */ void close() throws HyracksDataException; - - /** - * Reset the cursor to be reused - * - * @throws HyracksDataException - * @throws IndexException - */ - void reset() throws HyracksDataException; /** * @return the tuple pointed to by the cursor diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractSearchOperationCallbackTest.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractSearchOperationCallbackTest.java index 0323d1b..368430c 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractSearchOperationCallbackTest.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractSearchOperationCallbackTest.java @@ -127,7 +127,7 @@ // consume tuples [153, 300] consumeIntTupleRange(153, 300, false, -1); - cursor.close(); + cursor.destroy(); } finally { lock.unlock(); } diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexExamplesTest.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexExamplesTest.java index 2a7b978..9ca3b59 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexExamplesTest.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexExamplesTest.java @@ -42,7 +42,6 @@ import org.apache.hyracks.storage.am.common.TestOperationCallback; import org.apache.hyracks.storage.am.common.api.ITreeIndex; import org.apache.hyracks.storage.am.common.api.ITreeIndexAccessor; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.common.impls.IndexAccessParameters; import org.apache.hyracks.storage.am.common.impls.TreeIndexDiskOrderScanCursor; import org.apache.hyracks.storage.common.IIndexAccessor; @@ -773,7 +772,7 @@ } } } finally { - scanCursor.close(); + scanCursor.destroy(); } } @@ -796,7 +795,7 @@ } } } finally { - diskOrderCursor.close(); + diskOrderCursor.destroy(); } } catch (UnsupportedOperationException e) { // Ignore exception because some indexes, e.g. the LSMBTree, don't @@ -821,7 +820,7 @@ String highKeyString = TupleUtils.printTuple(highKey, fieldSerdes); LOGGER.info("Range-Search in: [ " + lowKeyString + ", " + highKeyString + "]"); } - ITreeIndexCursor rangeCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor(false); + IIndexCursor rangeCursor = indexAccessor.createSearchCursor(false); MultiComparator lowKeySearchCmp = BTreeUtils.getSearchMultiComparator(cmpFactories, lowKey); MultiComparator highKeySearchCmp = BTreeUtils.getSearchMultiComparator(cmpFactories, highKey); RangePredicate rangePred; @@ -842,7 +841,7 @@ } } } finally { - rangeCursor.close(); + rangeCursor.destroy(); } } diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestUtils.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestUtils.java index 665178c..4a9e0ed 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestUtils.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestUtils.java @@ -45,7 +45,6 @@ import org.apache.hyracks.storage.am.common.CheckTuple; import org.apache.hyracks.storage.am.common.IIndexTestContext; import org.apache.hyracks.storage.am.common.TreeIndexTestUtils; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.common.IIndexCursor; import org.apache.hyracks.storage.common.ISearchPredicate; import org.apache.hyracks.storage.common.MultiComparator; @@ -137,7 +136,7 @@ + "\nActual : " + actualCount); } } finally { - searchCursor.close(); + searchCursor.destroy(); } } @@ -180,7 +179,7 @@ fail("Point search returned more than one answer."); } } finally { - searchCursor.close(); + searchCursor.destroy(); } } } @@ -477,7 +476,7 @@ } @Override - public void checkExpectedResults(ITreeIndexCursor cursor, Collection checkTuples, + public void checkExpectedResults(IIndexCursor cursor, Collection checkTuples, ISerializerDeserializer[] fieldSerdes, int keyFieldCount, Iterator checkIter) throws Exception { int actualCount = 0; try { @@ -496,7 +495,7 @@ + "\nActual : " + actualCount); } } finally { - cursor.close(); + cursor.destroy(); } } diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/AbstractIndexTestWorker.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/AbstractIndexTestWorker.java index 0291f41..5248a22 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/AbstractIndexTestWorker.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/AbstractIndexTestWorker.java @@ -73,7 +73,7 @@ cursor.next(); } } finally { - cursor.close(); + cursor.destroy(); } } } diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java index 9304adf..43258dd 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java @@ -31,7 +31,8 @@ import org.apache.commons.lang3.tuple.MutablePair; import org.apache.commons.lang3.tuple.Pair; -import org.apache.hyracks.api.dataflow.value.*; +import org.apache.hyracks.api.dataflow.value.IBinaryComparator; +import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.ErrorCode; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder; @@ -41,6 +42,7 @@ import org.apache.hyracks.storage.am.common.api.ITreeIndexAccessor; import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.common.IIndexBulkLoader; +import org.apache.hyracks.storage.common.IIndexCursor; import org.apache.hyracks.storage.common.ISearchPredicate; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; @@ -54,7 +56,7 @@ protected abstract ISearchPredicate createNullSearchPredicate(); - public abstract void checkExpectedResults(ITreeIndexCursor cursor, Collection checkTuples, + public abstract void checkExpectedResults(IIndexCursor cursor, Collection checkTuples, ISerializerDeserializer[] fieldSerdes, int keyFieldCount, Iterator checkIter) throws Exception; protected abstract CheckTuple createIntCheckTuple(int[] fieldValues, int numKeyFields); @@ -120,7 +122,7 @@ if (LOGGER.isInfoEnabled()) { LOGGER.info("Testing Scan."); } - ITreeIndexCursor scanCursor = (ITreeIndexCursor) ctx.getIndexAccessor().createSearchCursor(false); + IIndexCursor scanCursor = ctx.getIndexAccessor().createSearchCursor(false); ISearchPredicate nullPred = createNullSearchPredicate(); ctx.getIndexAccessor().search(scanCursor, nullPred); Iterator checkIter = ctx.getCheckTuples().iterator(); @@ -157,7 +159,7 @@ } } finally { try { - diskOrderCursor.close(); + diskOrderCursor.destroy(); } catch (Exception ex) { LOGGER.log(Level.WARN, "Error during scan cursor close", ex); } diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeExamplesTest.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeExamplesTest.java index 4a31cd6..a36acf0 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeExamplesTest.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeExamplesTest.java @@ -41,7 +41,6 @@ import org.apache.hyracks.storage.am.common.api.IPrimitiveValueProviderFactory; import org.apache.hyracks.storage.am.common.api.ITreeIndex; import org.apache.hyracks.storage.am.common.api.ITreeIndexAccessor; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.common.impls.IndexAccessParameters; import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.common.impls.TreeIndexDiskOrderScanCursor; @@ -50,6 +49,7 @@ import org.apache.hyracks.storage.am.rtree.util.RTreeUtils; import org.apache.hyracks.storage.common.IIndexAccessor; import org.apache.hyracks.storage.common.IIndexBulkLoader; +import org.apache.hyracks.storage.common.IIndexCursor; import org.apache.hyracks.storage.common.MultiComparator; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -845,7 +845,7 @@ if (LOGGER.isInfoEnabled()) { LOGGER.info("Scan:"); } - ITreeIndexCursor scanCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor(false); + IIndexCursor scanCursor = indexAccessor.createSearchCursor(false); SearchPredicate nullPred = new SearchPredicate(null, null); indexAccessor.search(scanCursor, nullPred); try { @@ -858,7 +858,7 @@ } } } finally { - scanCursor.close(); + scanCursor.destroy(); } } @@ -881,7 +881,7 @@ } } } finally { - diskOrderCursor.close(); + diskOrderCursor.destroy(); } } catch (UnsupportedOperationException e) { // Ignore exception because some indexes, e.g. the LSMRTree, don't @@ -905,7 +905,7 @@ String kString = TupleUtils.printTuple(key, fieldSerdes); LOGGER.info("Range-Search using key: " + kString); } - ITreeIndexCursor rangeCursor = (ITreeIndexCursor) indexAccessor.createSearchCursor(false); + IIndexCursor rangeCursor = indexAccessor.createSearchCursor(false); MultiComparator cmp = RTreeUtils.getSearchMultiComparator(cmpFactories, key); SearchPredicate rangePred; @@ -926,7 +926,7 @@ } } } finally { - rangeCursor.close(); + rangeCursor.destroy(); } } } diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/RTreeTestUtils.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/RTreeTestUtils.java index eb4ea56..300a1ff 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/RTreeTestUtils.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/RTreeTestUtils.java @@ -34,10 +34,10 @@ import org.apache.hyracks.storage.am.common.CheckTuple; import org.apache.hyracks.storage.am.common.IIndexTestContext; import org.apache.hyracks.storage.am.common.TreeIndexTestUtils; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.common.util.HashMultiSet; import org.apache.hyracks.storage.am.rtree.impls.SearchPredicate; import org.apache.hyracks.storage.am.rtree.util.RTreeUtils; +import org.apache.hyracks.storage.common.IIndexCursor; import org.apache.hyracks.storage.common.ISearchPredicate; import org.apache.hyracks.storage.common.MultiComparator; import org.apache.logging.log4j.LogManager; @@ -71,7 +71,7 @@ AbstractRTreeTestContext ctx = (AbstractRTreeTestContext) ictx; MultiComparator cmp = RTreeUtils.getSearchMultiComparator(ctx.getComparatorFactories(), key); - ITreeIndexCursor searchCursor = (ITreeIndexCursor) ctx.getIndexAccessor().createSearchCursor(false); + IIndexCursor searchCursor = ctx.getIndexAccessor().createSearchCursor(false); SearchPredicate searchPred = new SearchPredicate(key, cmp); ctx.getIndexAccessor().search(searchCursor, searchPred); @@ -173,7 +173,7 @@ } @Override - public void checkExpectedResults(ITreeIndexCursor cursor, Collection checkTuples, + public void checkExpectedResults(IIndexCursor cursor, Collection checkTuples, ISerializerDeserializer[] fieldSerdes, int keyFieldCount, Iterator checkIter) throws Exception { int actualCount = 0; try { @@ -196,7 +196,7 @@ + "\nActual : " + actualCount); } } finally { - cursor.close(); + cursor.destroy(); } } diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchCursorTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchCursorTest.java index 2943ee9..6c234b7 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchCursorTest.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchCursorTest.java @@ -378,7 +378,7 @@ } catch (Exception e) { e.printStackTrace(); } finally { - rangeCursor.close(); + rangeCursor.destroy(); } getExpectedResults(expectedResults, keys, lowKey, highKey, lowKeyInclusive, highKeyInclusive); diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeUpdateSearchTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeUpdateSearchTest.java index bc297fa..f32bda3 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeUpdateSearchTest.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeUpdateSearchTest.java @@ -147,7 +147,7 @@ } catch (Exception e) { e.printStackTrace(); } finally { - updateScanCursor.close(); + updateScanCursor.destroy(); } // Ordered scan to verify the values. @@ -169,7 +169,7 @@ } catch (Exception e) { e.printStackTrace(); } finally { - scanCursor.close(); + scanCursor.destroy(); } btree.deactivate(); btree.destroy(); diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/multithread/BTreeTestWorker.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/multithread/BTreeTestWorker.java index 5866075..06a00e0 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/multithread/BTreeTestWorker.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/multithread/BTreeTestWorker.java @@ -107,7 +107,7 @@ break; case POINT_SEARCH: - searchCursor.reset(); + searchCursor.close(); rangePred.setLowKey(tuple, true); rangePred.setHighKey(tuple, true); accessor.search(searchCursor, rangePred); @@ -115,7 +115,7 @@ break; case SCAN: - searchCursor.reset(); + searchCursor.close(); rangePred.setLowKey(null, true); rangePred.setHighKey(null, true); accessor.search(searchCursor, rangePred); @@ -123,7 +123,7 @@ break; case DISKORDER_SCAN: - diskOrderScanCursor.reset(); + diskOrderScanCursor.close(); accessor.diskOrderScan(diskOrderScanCursor); consumeCursorTuples(diskOrderScanCursor); break; @@ -139,7 +139,7 @@ cursor.next(); } } finally { - cursor.close(); + cursor.destroy(); } } } diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeSearchOperationCallbackTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeSearchOperationCallbackTest.java index e108369..0904806 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeSearchOperationCallbackTest.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeSearchOperationCallbackTest.java @@ -142,7 +142,7 @@ // consume tuples [152, 300] consumeIntTupleRange(152, 300, false, -1); - cursor.close(); + cursor.destroy(); } finally { lock.unlock(); } diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeUpdateInPlaceScanDiskComponentsTest.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeUpdateInPlaceScanDiskComponentsTest.java index 790cddd..035ef98 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeUpdateInPlaceScanDiskComponentsTest.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeUpdateInPlaceScanDiskComponentsTest.java @@ -377,7 +377,7 @@ } Assert.assertFalse(cursor.hasNext()); } finally { - cursor.close(); + cursor.destroy(); } } diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/multithread/LSMBTreeTestWorker.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/multithread/LSMBTreeTestWorker.java index ad0e13d..4c07dea 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/multithread/LSMBTreeTestWorker.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/multithread/LSMBTreeTestWorker.java @@ -101,7 +101,7 @@ break; case POINT_SEARCH: - searchCursor.reset(); + searchCursor.close(); rangePred.setLowKey(tuple, true); rangePred.setHighKey(tuple, true); accessor.search(searchCursor, rangePred); @@ -109,7 +109,7 @@ break; case SCAN: - searchCursor.reset(); + searchCursor.close(); rangePred.setLowKey(null, true); rangePred.setHighKey(null, true); accessor.search(searchCursor, rangePred); diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-invertedindex-test/src/test/java/org/apache/hyracks/storage/am/lsm/invertedindex/multithread/LSMInvertedIndexTestWorker.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-invertedindex-test/src/test/java/org/apache/hyracks/storage/am/lsm/invertedindex/multithread/LSMInvertedIndexTestWorker.java index ace93e0..ca06f6b 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-invertedindex-test/src/test/java/org/apache/hyracks/storage/am/lsm/invertedindex/multithread/LSMInvertedIndexTestWorker.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-invertedindex-test/src/test/java/org/apache/hyracks/storage/am/lsm/invertedindex/multithread/LSMInvertedIndexTestWorker.java @@ -91,7 +91,7 @@ } case POINT_SEARCH: { - searchCursor.reset(); + searchCursor.close(); searchPred.setQueryTuple(tuple); searchPred.setQueryFieldIndex(0); try { @@ -107,7 +107,7 @@ } case SCAN: { - rangeSearchCursor.reset(); + rangeSearchCursor.close(); accessor.rangeSearch(rangeSearchCursor, rangePred); consumeCursorTuples(rangeSearchCursor); break; diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-invertedindex-test/src/test/java/org/apache/hyracks/storage/am/lsm/invertedindex/util/LSMInvertedIndexTestUtils.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-invertedindex-test/src/test/java/org/apache/hyracks/storage/am/lsm/invertedindex/util/LSMInvertedIndexTestUtils.java index 95c25d5..5902e62 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-invertedindex-test/src/test/java/org/apache/hyracks/storage/am/lsm/invertedindex/util/LSMInvertedIndexTestUtils.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-invertedindex-test/src/test/java/org/apache/hyracks/storage/am/lsm/invertedindex/util/LSMInvertedIndexTestUtils.java @@ -298,7 +298,7 @@ fail("Indexes do not match. Actual index contains too many entries."); } } finally { - invIndexCursor.close(); + invIndexCursor.destroy(); } } @@ -574,7 +574,7 @@ } } } finally { - resultCursor.close(); + resultCursor.destroy(); } } } diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/AbstractLSMRTreeTestWorker.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/AbstractLSMRTreeTestWorker.java index 22021bd..081ef7a 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/AbstractLSMRTreeTestWorker.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/AbstractLSMRTreeTestWorker.java @@ -83,7 +83,7 @@ cursor.next(); } } finally { - cursor.close(); + cursor.destroy(); } } } diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/LSMRTreeTestWorker.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/LSMRTreeTestWorker.java index 6482565..2a14780 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/LSMRTreeTestWorker.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/LSMRTreeTestWorker.java @@ -33,6 +33,7 @@ import org.apache.hyracks.storage.am.lsm.rtree.impls.LSMRTreeOpContext; import org.apache.hyracks.storage.am.rtree.impls.SearchPredicate; import org.apache.hyracks.storage.common.IIndex; +import org.apache.hyracks.storage.common.IIndexCursor; import org.apache.hyracks.storage.common.MultiComparator; public class LSMRTreeTestWorker extends AbstractIndexTestWorker { @@ -53,7 +54,7 @@ @Override public void performOp(ITupleReference tuple, TestOperation op) throws HyracksDataException { LSMRTreeAccessor accessor = (LSMRTreeAccessor) indexAccessor; - ITreeIndexCursor searchCursor = accessor.createSearchCursor(false); + IIndexCursor searchCursor = accessor.createSearchCursor(false); LSMRTreeOpContext concreteCtx = (LSMRTreeOpContext) accessor.getCtx(); MultiComparator cmp = concreteCtx.getCurrentRTreeOpContext().getCmp(); SearchPredicate rangePred = new SearchPredicate(tuple, cmp); @@ -70,7 +71,7 @@ break; case SCAN: - searchCursor.reset(); + searchCursor.close(); rangePred.setSearchKey(null); accessor.search(searchCursor, rangePred); consumeCursorTuples(searchCursor); @@ -122,7 +123,7 @@ cursor.next(); } } finally { - cursor.close(); + cursor.destroy(); } } } diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/LSMRTreeWithAntiMatterTuplesTestWorker.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/LSMRTreeWithAntiMatterTuplesTestWorker.java index f49fdbf..653677c 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/LSMRTreeWithAntiMatterTuplesTestWorker.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/LSMRTreeWithAntiMatterTuplesTestWorker.java @@ -23,13 +23,13 @@ import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; import org.apache.hyracks.storage.am.common.TestOperationSelector; import org.apache.hyracks.storage.am.common.TestOperationSelector.TestOperation; -import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; import org.apache.hyracks.storage.am.common.datagen.DataGenThread; import org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor; import org.apache.hyracks.storage.am.lsm.rtree.impls.AbstractLSMRTree; import org.apache.hyracks.storage.am.lsm.rtree.impls.LSMRTreeOpContext; import org.apache.hyracks.storage.am.rtree.impls.SearchPredicate; import org.apache.hyracks.storage.common.IIndex; +import org.apache.hyracks.storage.common.IIndexCursor; import org.apache.hyracks.storage.common.MultiComparator; public class LSMRTreeWithAntiMatterTuplesTestWorker extends AbstractLSMRTreeTestWorker { @@ -42,7 +42,7 @@ @Override public void performOp(ITupleReference tuple, TestOperation op) throws HyracksDataException { LSMTreeIndexAccessor accessor = (LSMTreeIndexAccessor) indexAccessor; - ITreeIndexCursor searchCursor = accessor.createSearchCursor(false); + IIndexCursor searchCursor = accessor.createSearchCursor(false); LSMRTreeOpContext concreteCtx = (LSMRTreeOpContext) accessor.getCtx(); MultiComparator cmp = concreteCtx.getCurrentRTreeOpContext().getCmp(); SearchPredicate rangePred = new SearchPredicate(tuple, cmp); @@ -59,7 +59,7 @@ break; case SCAN: - searchCursor.reset(); + searchCursor.close(); rangePred.setSearchKey(null); accessor.search(searchCursor, rangePred); consumeCursorTuples(searchCursor); diff --git a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-rtree-test/src/test/java/org/apache/hyracks/storage/am/rtree/multithread/RTreeTestWorker.java b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-rtree-test/src/test/java/org/apache/hyracks/storage/am/rtree/multithread/RTreeTestWorker.java index cf2fa77..9d2d59e 100644 --- a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-rtree-test/src/test/java/org/apache/hyracks/storage/am/rtree/multithread/RTreeTestWorker.java +++ b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-rtree-test/src/test/java/org/apache/hyracks/storage/am/rtree/multithread/RTreeTestWorker.java @@ -69,14 +69,14 @@ break; case SCAN: - searchCursor.reset(); + searchCursor.close(); rangePred.setSearchKey(null); accessor.search(searchCursor, rangePred); consumeCursorTuples(searchCursor); break; case DISKORDER_SCAN: - diskOrderScanCursor.reset(); + diskOrderScanCursor.close(); accessor.diskOrderScan(diskOrderScanCursor); consumeCursorTuples(diskOrderScanCursor); break; -- To view, visit https://asterix-gerrit.ics.uci.edu/2238 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: merged Gerrit-Change-Id: I64cf8c0a5473268bdfd71fd560ee6b3bff219ce9 Gerrit-PatchSet: 13 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudi Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Ian Maxon Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-Reviewer: Murtadha Hubail Gerrit-Reviewer: Till Westmann Gerrit-Reviewer: abdullah alamoudi