[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 <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: abdullah alamoudi <bamousaa@gmail.com>
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<ILSMComponent> 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<ITupleReference> 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 <should be relatively rare>
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<ILSMDiskComponent> immutableComponents = diskComponents;
List<ILSMComponent> 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;
@@ -168,16 +166,6 @@
}
@Override
- public void setBufferCache(IBufferCache bufferCache) {
- // do nothing
- }
-
- @Override
- public void setFileId(int fileId) {
- // do nothing
- }
-
- @Override
public ITupleReference getTuple() {
return outputElement.getTuple();
}
@@ -202,7 +190,7 @@
outputPriorityQueue.offer(e);
return;
}
- rangeCursors[cursorIndex].close();
+ rangeCursors[cursorIndex].destroy();
if (cursorIndex == 0) {
includeMutableComponent = false;
}
@@ -257,11 +245,6 @@
}
}
- @Override
- public boolean isExclusiveLatchNodes() {
- return false;
- }
-
public class PriorityQueueElement {
private ITupleReference tuple;
private int cursorIndex;
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<ITupleReference> 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<ITupleReference> 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<ILSMComponent> 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<ITupleReference> 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:
+ * <ul>
+ * <li>CLOSED</li>
+ * <li>OPENED</li>
+ * <li>DESTROYED</li>
+ * </ul>
+ * 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,21 +76,21 @@
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
*/
ITupleReference getTuple();
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<CheckTuple> 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<CheckTuple> 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<CheckTuple> 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<CheckTuple> 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..081ef7a45 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;