You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by am...@apache.org on 2018/01/05 00:35:41 UTC
[2/2] asterixdb git commit: [ASTERIXDB-2204][STO] Fix the
IIndexCursor interface
[ASTERIXDB-2204][STO] Fix the IIndexCursor interface
- user model changes: no
- storage format changes: no
- interface changes: yes
- replace IIndexCursor.reset with close
- replace IIndexCursor.close with destroy
Details:
- This change is the first step towards fixing the behavior
of implementors/callers of the IIndexCursor interface
- In this change, we simply rename the reset -> close
and close -> destroy and we write down the javadocs
explaining the semantics of the interface.
- LSM Index Cursors don't implements ITreeIndexCursor
anymore.
Change-Id: I64cf8c0a5473268bdfd71fd560ee6b3bff219ce9
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2238
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: abdullah alamoudi <ba...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/08dc8597
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/08dc8597
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/08dc8597
Branch: refs/heads/master
Commit: 08dc8597e2c9bcbf133250487c71b82d53fd1224
Parents: b4899c8
Author: Abdullah Alamoudi <ba...@gmail.com>
Authored: Thu Jan 4 17:56:38 2018 +0300
Committer: abdullah alamoudi <ba...@gmail.com>
Committed: Thu Jan 4 16:35:06 2018 -0800
----------------------------------------------------------------------
.../indexing/ExternalFileIndexAccessor.java | 4 +-
.../apache/asterix/metadata/MetadataNode.java | 23 +++++------
.../LSMPrimaryUpsertOperatorNodePushable.java | 7 ++--
.../btree/impls/BTreeCountingSearchCursor.java | 6 +--
.../am/btree/impls/BTreeRangeSearchCursor.java | 6 +--
.../storage/am/btree/test/FramewriterTest.java | 2 +-
.../IndexSearchOperatorNodePushable.java | 4 +-
...eIndexDiskOrderScanOperatorNodePushable.java | 2 +-
.../impls/TreeIndexDiskOrderScanCursor.java | 4 +-
.../am/lsm/btree/impls/ExternalBTree.java | 3 +-
.../lsm/btree/impls/ExternalBTreeWithBuddy.java | 7 ++--
.../storage/am/lsm/btree/impls/LSMBTree.java | 15 ++++---
.../impls/LSMBTreeDiskComponentScanCursor.java | 4 +-
.../lsm/btree/impls/LSMBTreeMergeOperation.java | 4 +-
.../btree/impls/LSMBTreePointSearchCursor.java | 42 ++++++--------------
.../btree/impls/LSMBTreeRangeSearchCursor.java | 14 +++----
.../lsm/btree/impls/LSMBTreeSearchCursor.java | 32 ++++-----------
.../impls/LSMBTreeWithBuddyAbstractCursor.java | 32 ++++-----------
.../impls/LSMBTreeWithBuddyMergeOperation.java | 4 +-
.../impls/LSMBTreeWithBuddySearchCursor.java | 18 ++++-----
.../impls/LSMBTreeWithBuddySortedCursor.java | 12 +++---
.../am/lsm/common/impls/AbstractLSMIndex.java | 12 +++---
.../lsm/common/impls/LSMIndexSearchCursor.java | 29 +++-----------
.../lsm/common/impls/LSMTreeIndexAccessor.java | 5 +--
.../invertedindex/impls/LSMInvertedIndex.java | 10 ++---
.../LSMInvertedIndexRangeSearchCursor.java | 4 +-
.../impls/LSMInvertedIndexSearchCursor.java | 16 ++++----
.../inmemory/InMemoryInvertedListCursor.java | 12 +++---
.../ondisk/OnDiskInvertedIndex.java | 4 +-
.../OnDiskInvertedIndexRangeSearchCursor.java | 8 ++--
.../ondisk/OnDiskInvertedIndexSearchCursor.java | 4 +-
.../ondisk/PartitionedOnDiskInvertedIndex.java | 2 +-
.../am/lsm/rtree/impls/ExternalRTree.java | 9 ++---
.../storage/am/lsm/rtree/impls/LSMRTree.java | 14 +++----
.../lsm/rtree/impls/LSMRTreeAbstractCursor.java | 33 +++++----------
.../lsm/rtree/impls/LSMRTreeMergeOperation.java | 4 +-
.../lsm/rtree/impls/LSMRTreeSearchCursor.java | 18 ++++-----
.../lsm/rtree/impls/LSMRTreeSortedCursor.java | 12 +++---
.../impls/LSMRTreeWithAntiMatterTuples.java | 12 +++---
...LSMRTreeWithAntiMatterTuplesFlushCursor.java | 23 ++---------
...SMRTreeWithAntiMatterTuplesSearchCursor.java | 25 ++++++------
.../am/lsm/rtree/impls/TreeTupleSorter.java | 4 +-
.../am/rtree/impls/RTreeSearchCursor.java | 6 +--
.../hyracks/storage/common/IIndexCursor.java | 37 ++++++++++++++---
.../AbstractSearchOperationCallbackTest.java | 2 +-
.../am/btree/OrderedIndexExamplesTest.java | 9 ++---
.../storage/am/btree/OrderedIndexTestUtils.java | 9 ++---
.../am/common/AbstractIndexTestWorker.java | 2 +-
.../storage/am/common/TreeIndexTestUtils.java | 10 +++--
.../am/rtree/AbstractRTreeExamplesTest.java | 12 +++---
.../storage/am/rtree/RTreeTestUtils.java | 8 ++--
.../storage/am/btree/BTreeSearchCursorTest.java | 2 +-
.../storage/am/btree/BTreeUpdateSearchTest.java | 4 +-
.../am/btree/multithread/BTreeTestWorker.java | 8 ++--
.../LSMBTreeSearchOperationCallbackTest.java | 2 +-
...TreeUpdateInPlaceScanDiskComponentsTest.java | 2 +-
.../btree/multithread/LSMBTreeTestWorker.java | 4 +-
.../multithread/LSMInvertedIndexTestWorker.java | 4 +-
.../util/LSMInvertedIndexTestUtils.java | 4 +-
.../multithread/AbstractLSMRTreeTestWorker.java | 2 +-
.../rtree/multithread/LSMRTreeTestWorker.java | 7 ++--
.../LSMRTreeWithAntiMatterTuplesTestWorker.java | 6 +--
.../am/rtree/multithread/RTreeTestWorker.java | 4 +-
63 files changed, 284 insertions(+), 365 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/ExternalFileIndexAccessor.java
----------------------------------------------------------------------
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 @@ public class ExternalFileIndexAccessor {
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 class ExternalFileIndexAccessor {
public void close() throws HyracksDataException {
if (index != null) {
try {
- fileIndexSearchCursor.close();
+ fileIndexSearchCursor.destroy();
} finally {
indexDataflowHelper.close();
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
----------------------------------------------------------------------
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.metadata.MetadataIndexImmutableProperties;
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.comm.io.ArrayTupleReference;
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 @@ public class MetadataNode implements IMetadataNode {
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 @@ public class MetadataNode implements IMetadataNode {
SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.ASTRING) }));
}
} finally {
- rangeCursor.close();
+ rangeCursor.destroy();
}
datasetLifecycleManager.close(resourceName);
@@ -1202,7 +1199,7 @@ public class MetadataNode implements IMetadataNode {
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 @@ public class MetadataNode implements IMetadataNode {
SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.ASTRING) }));
}
} finally {
- rangeCursor.close();
+ rangeCursor.destroy();
}
datasetLifecycleManager.close(resourceName);
@@ -1223,7 +1220,7 @@ public class MetadataNode implements IMetadataNode {
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 @@ public class MetadataNode implements IMetadataNode {
SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.ASTRING) }));
}
} finally {
- rangeCursor.close();
+ rangeCursor.destroy();
}
datasetLifecycleManager.close(resourceName);
} catch (Exception e) {
@@ -1258,7 +1255,7 @@ public class MetadataNode implements IMetadataNode {
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 @@ public class MetadataNode implements IMetadataNode {
}
}
} finally {
- rangeCursor.close();
+ rangeCursor.destroy();
}
datasetLifecycleManager.close(resourceName);
}
@@ -1316,7 +1313,7 @@ public class MetadataNode implements IMetadataNode {
}
}
} finally {
- rangeCursor.close();
+ rangeCursor.destroy();
}
} finally {
datasetLifecycleManager.close(resourceName);
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
----------------------------------------------------------------------
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 java.nio.ByteBuffer;
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 @@ public class LSMPrimaryUpsertOperatorNodePushable extends LSMIndexInsertUpdateDe
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 @@ public class LSMPrimaryUpsertOperatorNodePushable extends LSMIndexInsertUpdateDe
if (isFiltered) {
writeMissingField();
}
- cursor.reset();
+ cursor.close();
}
/**
@@ -361,7 +360,7 @@ public class LSMPrimaryUpsertOperatorNodePushable extends LSMIndexInsertUpdateDe
public void close() throws HyracksDataException {
try {
try {
- cursor.close();
+ cursor.destroy();
} finally {
writer.close();
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeCountingSearchCursor.java
----------------------------------------------------------------------
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 @@ public class BTreeCountingSearchCursor implements ITreeIndexCursor {
}
@Override
- public void close() throws HyracksDataException {
+ public void destroy() throws HyracksDataException {
if (page != null) {
releasePage();
}
@@ -220,9 +220,9 @@ public class BTreeCountingSearchCursor implements ITreeIndexCursor {
}
@Override
- public void reset() {
+ public void close() {
try {
- close();
+ destroy();
} catch (Exception e) {
e.printStackTrace();
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/impls/BTreeRangeSearchCursor.java
----------------------------------------------------------------------
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 @@ public class BTreeRangeSearchCursor implements ITreeIndexCursor {
}
@Override
- public void close() throws HyracksDataException {
+ public void destroy() throws HyracksDataException {
if (page != null) {
if (exclusiveLatchNodes) {
page.releaseWriteLatch(isPageDirty);
@@ -292,8 +292,8 @@ public class BTreeRangeSearchCursor implements ITreeIndexCursor {
}
@Override
- public void reset() throws HyracksDataException {
- close();
+ public void close() throws HyracksDataException {
+ destroy();
}
@Override
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/test/java/org/apache/hyracks/storage/am/btree/test/FramewriterTest.java
----------------------------------------------------------------------
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 @@ public class FramewriterTest {
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++;
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java
----------------------------------------------------------------------
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 @@ public abstract class IndexSearchOperatorNodePushable extends AbstractUnaryInput
try {
for (int i = 0; i < tupleCount; i++) {
resetSearchPredicate(i);
- cursor.reset();
+ cursor.close();
indexAccessor.search(cursor, searchPred);
writeSearchResults(i);
}
@@ -232,7 +232,7 @@ public abstract class IndexSearchOperatorNodePushable extends AbstractUnaryInput
}
try {
- cursor.close();
+ cursor.destroy();
} catch (Throwable th) {
if (closeException == null) {
closeException = HyracksDataException.create(th);
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/TreeIndexDiskOrderScanOperatorNodePushable.java
----------------------------------------------------------------------
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 @@ public class TreeIndexDiskOrderScanOperatorNodePushable extends AbstractUnaryOut
throw new HyracksDataException(th);
} finally {
try {
- cursor.close();
+ cursor.destroy();
} catch (Exception cursorCloseException) {
throw new IllegalStateException(cursorCloseException);
} finally {
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/TreeIndexDiskOrderScanCursor.java
----------------------------------------------------------------------
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 @@ public class TreeIndexDiskOrderScanCursor implements ITreeIndexCursor {
}
@Override
- public void close() throws HyracksDataException {
+ public void destroy() throws HyracksDataException {
page.releaseReadLatch();
bufferCache.unpin(page);
page = null;
@@ -130,7 +130,7 @@ public class TreeIndexDiskOrderScanCursor implements ITreeIndexCursor {
}
@Override
- public void reset() {
+ public void close() {
tupleIndex = 0;
currentPageId = -1;
maxPageId = -1;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTree.java
----------------------------------------------------------------------
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.dataflow.common.data.accessors.ITupleReference;
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 @@ public class ExternalBTree extends LSMBTree implements ITwoPCIndex {
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();
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/ExternalBTreeWithBuddy.java
----------------------------------------------------------------------
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.btree.impls.RangePredicate;
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 @@ public class ExternalBTreeWithBuddy extends AbstractLSMIndex implements ITreeInd
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 @@ public class ExternalBTreeWithBuddy extends AbstractLSMIndex implements ITreeInd
componentBulkLoader.delete(tuple);
}
} finally {
- buddyBtreeCursor.close();
+ buddyBtreeCursor.destroy();
}
} else {
componentBulkLoader = mergedComponent.createBulkLoader(1.0f, false, 0L, false, false, false);
@@ -355,7 +354,7 @@ public class ExternalBTreeWithBuddy extends AbstractLSMIndex implements ITreeInd
componentBulkLoader.add(frameTuple);
}
} finally {
- cursor.close();
+ cursor.destroy();
}
componentBulkLoader.end();
return mergedComponent;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java
----------------------------------------------------------------------
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.btree.impls.RangePredicate;
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 @@ public class LSMBTree extends AbstractLSMIndex implements ITreeIndex {
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 @@ public class LSMBTree extends AbstractLSMIndex implements ITreeIndex {
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 @@ public class LSMBTree extends AbstractLSMIndex implements ITreeIndex {
numElements = IntegerPointable.getInteger(countTuple.getFieldData(0), countTuple.getFieldStart(0));
}
} finally {
- countingCursor.close();
+ countingCursor.destroy();
}
}
@@ -287,7 +286,7 @@ public class LSMBTree extends AbstractLSMIndex implements ITreeIndex {
componentBulkLoader.add(scanCursor.getTuple());
}
} finally {
- scanCursor.close();
+ scanCursor.destroy();
}
if (component.getLSMComponentFilter() != null) {
@@ -337,7 +336,7 @@ public class LSMBTree extends AbstractLSMIndex implements ITreeIndex {
componentBulkLoader.add(frameTuple);
}
} finally {
- cursor.close();
+ cursor.destroy();
}
if (mergedComponent.getLSMComponentFilter() != null) {
List<ITupleReference> filterTuples = new ArrayList<>();
@@ -442,7 +441,7 @@ public class LSMBTree extends AbstractLSMIndex implements ITreeIndex {
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());
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeDiskComponentScanCursor.java
----------------------------------------------------------------------
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 @@ public class LSMBTreeDiskComponentScanCursor extends LSMIndexSearchCursor {
}
@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 {
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeMergeOperation.java
----------------------------------------------------------------------
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;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java
----------------------------------------------------------------------
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;
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.ILSMHarness;
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 @@ public class LSMBTreePointSearchCursor implements ITreeIndexCursor {
if (reconciled) {
searchCallback.cancel(predicate.getLowKey());
}
- rangeCursors[i].close();
+ rangeCursors[i].destroy();
return false;
} else {
frameTuple = rangeCursors[i].getTuple();
@@ -100,7 +99,7 @@ public class LSMBTreePointSearchCursor implements ITreeIndexCursor {
}
if (i == 0 && includeMutableComponent) {
// unlatch/unpin
- rangeCursors[i].reset();
+ rangeCursors[i].close();
searchCallback.reconcile(predicate.getLowKey());
reconciled = true;
@@ -110,7 +109,7 @@ public class LSMBTreePointSearchCursor implements ITreeIndexCursor {
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 @@ public class LSMBTreePointSearchCursor implements ITreeIndexCursor {
}
} else {
searchCallback.cancel(predicate.getLowKey());
- rangeCursors[i].close();
+ rangeCursors[i].destroy();
}
} else {
frameTuple = rangeCursors[i].getTuple();
@@ -132,18 +131,18 @@ public class LSMBTreePointSearchCursor implements ITreeIndexCursor {
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 @@ public class LSMBTreePointSearchCursor implements ITreeIndexCursor {
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 @@ public class LSMBTreePointSearchCursor implements ITreeIndexCursor {
} 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 @@ public class LSMBTreePointSearchCursor implements ITreeIndexCursor {
}
@Override
- public void close() throws HyracksDataException {
+ public void destroy() throws HyracksDataException {
if (lsmHarness != null) {
try {
closeCursors();
@@ -253,26 +252,11 @@ public class LSMBTreePointSearchCursor implements ITreeIndexCursor {
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();
}
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java
----------------------------------------------------------------------
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 @@ public class LSMBTreeRangeSearchCursor extends LSMIndexSearchCursor {
}
@Override
- public void reset() throws HyracksDataException {
- super.reset();
+ public void close() throws HyracksDataException {
+ super.close();
canCallProceed = true;
}
@@ -117,7 +117,7 @@ public class LSMBTreeRangeSearchCursor extends LSMIndexSearchCursor {
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 @@ public class LSMBTreeRangeSearchCursor extends LSMIndexSearchCursor {
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 @@ public class LSMBTreeRangeSearchCursor extends LSMIndexSearchCursor {
}
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 @@ public class LSMBTreeRangeSearchCursor extends LSMIndexSearchCursor {
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 @@ public class LSMBTreeRangeSearchCursor extends LSMIndexSearchCursor {
rangeCursors[i] = new BTreeRangeSearchCursor(leafFrame, false);
} else {
// re-use
- rangeCursors[i].reset();
+ rangeCursors[i].close();
}
if (component.getType() == LSMComponentType.MEMORY) {
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeSearchCursor.java
----------------------------------------------------------------------
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 @@ package org.apache.hyracks.storage.am.lsm.btree.impls;
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 @@ public class LSMBTreeSearchCursor implements ITreeIndexCursor {
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 @@ public class LSMBTreeSearchCursor implements ITreeIndexCursor {
}
@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 class LSMBTreeSearchCursor implements ITreeIndexCursor {
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();
- }
-
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyAbstractCursor.java
----------------------------------------------------------------------
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.ILSMComponent.LSMComponentTy
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 @@ public abstract class LSMBTreeWithBuddyAbstractCursor implements ITreeIndexCurso
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 @@ public abstract class LSMBTreeWithBuddyAbstractCursor implements ITreeIndexCurso
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 @@ public abstract class LSMBTreeWithBuddyAbstractCursor implements ITreeIndexCurso
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 @@ public abstract class LSMBTreeWithBuddyAbstractCursor implements ITreeIndexCurso
}
@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 abstract class LSMBTreeWithBuddyAbstractCursor implements ITreeIndexCurso
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;
- }
-
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddyMergeOperation.java
----------------------------------------------------------------------
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 @@ public class LSMBTreeWithBuddyMergeOperation extends MergeOperation {
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);
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddySearchCursor.java
----------------------------------------------------------------------
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 @@ public class LSMBTreeWithBuddySearchCursor extends LSMBTreeWithBuddyAbstractCurs
}
@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 @@ public class LSMBTreeWithBuddySearchCursor extends LSMBTreeWithBuddyAbstractCurs
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 @@ public class LSMBTreeWithBuddySearchCursor extends LSMBTreeWithBuddyAbstractCurs
private void searchNextCursor() throws HyracksDataException {
if (currentCursor < numberOfTrees) {
- btreeCursors[currentCursor].reset();
+ btreeCursors[currentCursor].close();
btreeAccessors[currentCursor].search(btreeCursors[currentCursor], btreeRangePredicate);
}
}
@@ -85,7 +85,7 @@ public class LSMBTreeWithBuddySearchCursor extends LSMBTreeWithBuddyAbstractCurs
&& !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 @@ public class LSMBTreeWithBuddySearchCursor extends LSMBTreeWithBuddyAbstractCurs
killerTupleFound = true;
}
} finally {
- buddyBtreeCursors[i].close();
+ buddyBtreeCursors[i].destroy();
}
}
if (!killerTupleFound) {
@@ -103,7 +103,7 @@ public class LSMBTreeWithBuddySearchCursor extends LSMBTreeWithBuddyAbstractCurs
return true;
}
}
- btreeCursors[currentCursor].close();
+ btreeCursors[currentCursor].destroy();
currentCursor++;
searchNextCursor();
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeWithBuddySortedCursor.java
----------------------------------------------------------------------
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 @@ public class LSMBTreeWithBuddySortedCursor extends LSMBTreeWithBuddyAbstractCurs
throws HyracksDataException {
super(opCtx);
this.buddyBtreeTuple = new PermutingTupleReference(buddyBTreeFields);
- reset();
+ close();
}
public ILSMIndexOperationContext getOpCtx() {
@@ -47,12 +47,12 @@ public class LSMBTreeWithBuddySortedCursor extends LSMBTreeWithBuddyAbstractCurs
}
@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 @@ public class LSMBTreeWithBuddySortedCursor extends LSMBTreeWithBuddyAbstractCurs
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 @@ public class LSMBTreeWithBuddySortedCursor extends LSMBTreeWithBuddyAbstractCurs
break;
}
} finally {
- btreeCursors[i].close();
+ btreeCursors[i].destroy();
}
}
if (!killed) {
@@ -160,7 +160,7 @@ public class LSMBTreeWithBuddySortedCursor extends LSMBTreeWithBuddyAbstractCurs
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();
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndex.java
----------------------------------------------------------------------
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 @@ public abstract class AbstractLSMIndex implements ILSMIndex {
@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 @@ public abstract class AbstractLSMIndex implements ILSMIndex {
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 @@ public abstract class AbstractLSMIndex implements ILSMIndex {
}
}
} else {
- operationalComponents.addAll(immutableComponents);
+ operationalComponents.addAll(diskComponents);
}
break;
@@ -334,13 +334,13 @@ public abstract class AbstractLSMIndex implements ILSMIndex {
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.");
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMIndexSearchCursor.java
----------------------------------------------------------------------
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 java.util.PriorityQueue;
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.ILSMIndexOperationContext;
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 @@ public abstract class LSMIndexSearchCursor implements ITreeIndexCursor {
}
@Override
- public void reset() throws HyracksDataException {
+ public void close() throws HyracksDataException {
hasNextCallCount = 0;
switchPossible = true;
outputElement = null;
@@ -122,7 +120,7 @@ public abstract class LSMIndexSearchCursor implements ITreeIndexCursor {
if (rangeCursors != null) {
for (int i = 0; i < rangeCursors.length; i++) {
- rangeCursors[i].reset();
+ rangeCursors[i].close();
}
}
rangeCursors = null;
@@ -147,7 +145,7 @@ public abstract class LSMIndexSearchCursor implements ITreeIndexCursor {
}
@Override
- public void close() throws HyracksDataException {
+ public void destroy() throws HyracksDataException {
try {
if (outputPriorityQueue != null) {
outputPriorityQueue.clear();
@@ -155,7 +153,7 @@ public abstract class LSMIndexSearchCursor implements ITreeIndexCursor {
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 @@ public abstract class LSMIndexSearchCursor implements ITreeIndexCursor {
}
@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 @@ public abstract class LSMIndexSearchCursor implements ITreeIndexCursor {
outputPriorityQueue.offer(e);
return;
}
- rangeCursors[cursorIndex].close();
+ rangeCursors[cursorIndex].destroy();
if (cursorIndex == 0) {
includeMutableComponent = false;
}
@@ -257,11 +245,6 @@ public abstract class LSMIndexSearchCursor implements ITreeIndexCursor {
}
}
- @Override
- public boolean isExclusiveLatchNodes() {
- return false;
- }
-
public class PriorityQueueElement {
private ITupleReference tuple;
private int cursorIndex;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMTreeIndexAccessor.java
----------------------------------------------------------------------
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.data.std.api.IValueReference;
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 @@ import org.apache.hyracks.storage.common.ISearchPredicate;
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 @@ public class LSMTreeIndexAccessor implements ILSMIndexAccessor {
}
@Override
- public ITreeIndexCursor createSearchCursor(boolean exclusive) {
+ public IIndexCursor createSearchCursor(boolean exclusive) {
return cursorFactory.create(ctx);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndex.java
----------------------------------------------------------------------
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 @@ public class LSMInvertedIndex extends AbstractLSMIndex implements IInvertedIndex
numBTreeTuples = IntegerPointable.getInteger(countTuple.getFieldData(0), countTuple.getFieldStart(0));
}
} finally {
- btreeCountingCursor.close();
+ btreeCountingCursor.destroy();
}
ILSMDiskComponentBulkLoader componentBulkLoader =
@@ -310,7 +310,7 @@ public class LSMInvertedIndex extends AbstractLSMIndex implements IInvertedIndex
componentBulkLoader.delete(deletedKeysScanCursor.getTuple());
}
} finally {
- deletedKeysScanCursor.close();
+ deletedKeysScanCursor.destroy();
}
// Scan the in-memory inverted index
@@ -327,7 +327,7 @@ public class LSMInvertedIndex extends AbstractLSMIndex implements IInvertedIndex
componentBulkLoader.add(scanCursor.getTuple());
}
} finally {
- scanCursor.close();
+ scanCursor.destroy();
}
if (component.getLSMComponentFilter() != null) {
List<ITupleReference> filterTuples = new ArrayList<>();
@@ -383,7 +383,7 @@ public class LSMInvertedIndex extends AbstractLSMIndex implements IInvertedIndex
componentBulkLoader.delete(tuple);
}
} finally {
- btreeCursor.close();
+ btreeCursor.destroy();
}
} else {
componentBulkLoader = component.createBulkLoader(1.0f, false, 0L, false, false, false);
@@ -396,7 +396,7 @@ public class LSMInvertedIndex extends AbstractLSMIndex implements IInvertedIndex
componentBulkLoader.add(tuple);
}
} finally {
- cursor.close();
+ cursor.destroy();
}
if (component.getLSMComponentFilter() != null) {
List<ITupleReference> filterTuples = new ArrayList<>();
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexRangeSearchCursor.java
----------------------------------------------------------------------
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 @@ public class LSMInvertedIndexRangeSearchCursor extends LSMIndexSearchCursor {
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;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexSearchCursor.java
----------------------------------------------------------------------
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 @@ public class LSMInvertedIndexSearchCursor implements IIndexCursor {
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 @@ public class LSMInvertedIndexSearchCursor implements IIndexCursor {
return true;
}
} finally {
- deletedKeysBTreeCursors[i].close();
+ deletedKeysBTreeCursors[i].destroy();
}
}
return false;
@@ -147,7 +147,7 @@ public class LSMInvertedIndexSearchCursor implements IIndexCursor {
if (nextValidTuple()) {
return true;
}
- currentCursor.close();
+ currentCursor.destroy();
accessorIndex++;
}
while (accessorIndex < indexAccessors.size()) {
@@ -159,7 +159,7 @@ public class LSMInvertedIndexSearchCursor implements IIndexCursor {
return true;
}
// Close as we go to release resources.
- currentCursor.close();
+ currentCursor.destroy();
accessorIndex++;
}
return false;
@@ -172,15 +172,15 @@ public class LSMInvertedIndexSearchCursor implements IIndexCursor {
}
@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;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedListCursor.java
----------------------------------------------------------------------
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 @@ public class InMemoryInvertedListCursor implements IInvertedListCursor {
tokenTuple.reset(tokenTupleBuilder.getFieldEndOffsets(), tokenTupleBuilder.getByteArray());
btreeSearchTuple.reset();
btreeSearchTuple.addTuple(tokenTuple);
- btreeCursor.reset();
- countingCursor.reset();
+ btreeCursor.close();
+ countingCursor.close();
}
@Override
@@ -113,7 +113,7 @@ public class InMemoryInvertedListCursor implements IInvertedListCursor {
@Override
public void unpinPages() throws HyracksDataException {
if (cursorNeedsClose) {
- btreeCursor.close();
+ btreeCursor.destroy();
cursorNeedsClose = false;
}
}
@@ -154,7 +154,7 @@ public class InMemoryInvertedListCursor implements IInvertedListCursor {
e.printStackTrace();
} finally {
try {
- countingCursor.close();
+ countingCursor.destroy();
} catch (HyracksDataException e) {
e.printStackTrace();
}
@@ -197,8 +197,8 @@ public class InMemoryInvertedListCursor implements IInvertedListCursor {
try {
containsKey = btreeCursor.hasNext();
} finally {
+ btreeCursor.destroy();
btreeCursor.close();
- btreeCursor.reset();
btreeSearchTuple.removeLastTuple();
}
return containsKey;
@@ -219,8 +219,8 @@ public class InMemoryInvertedListCursor implements IInvertedListCursor {
strBuilder.append(o.toString() + " ");
}
} finally {
+ btreeCursor.destroy();
btreeCursor.close();
- btreeCursor.reset();
}
btreeAccessor.search(btreeCursor, btreePred);
return strBuilder.toString();
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndex.java
----------------------------------------------------------------------
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 @@ public class OnDiskInvertedIndex implements IInPlaceInvertedIndex {
listCursor.reset(0, 0, 0, 0);
}
} finally {
+ ctx.getBtreeCursor().destroy();
ctx.getBtreeCursor().close();
- ctx.getBtreeCursor().reset();
}
}
@@ -589,7 +589,7 @@ public class OnDiskInvertedIndex implements IInPlaceInvertedIndex {
}
}
} finally {
- btreeCursor.close();
+ btreeCursor.destroy();
}
}