Repository: asterixdb
Updated Branches:
  refs/heads/master b4899c89d -> 08dc8597e


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/OnDiskInvertedIndexRangeSearchCursor.java
----------------------------------------------------------------------
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 @@ public class OnDiskInvertedIndexRangeSearchCursor 
implements IIndexCursor {
     }
 
     @Override
-    public void close() throws HyracksDataException {
+    public void destroy() throws HyracksDataException {
         if (unpinNeeded) {
             invListCursor.unpinPages();
             unpinNeeded = false;
         }
-        btreeCursor.close();
+        btreeCursor.destroy();
     }
 
     @Override
-    public void reset() throws HyracksDataException {
+    public void close() throws HyracksDataException {
         if (unpinNeeded) {
             invListCursor.unpinPages();
             unpinNeeded = false;
         }
-        btreeCursor.close();
+        btreeCursor.destroy();
     }
 
     @Override

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/OnDiskInvertedIndexSearchCursor.java
----------------------------------------------------------------------
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 @@ public class OnDiskInvertedIndexSearchCursor implements 
IIndexCursor {
     }
 
     @Override
-    public void reset() {
+    public void close() {
         currentBufferIndex = 0;
         tupleIndex = 0;
         invIndexSearcher.reset();
@@ -113,7 +113,7 @@ public class OnDiskInvertedIndexSearchCursor implements 
IIndexCursor {
     }
 
     @Override
-    public void close() throws HyracksDataException {
+    public void destroy() throws HyracksDataException {
         currentBufferIndex = 0;
         tupleIndex = 0;
         resultBuffers = null;

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/PartitionedOnDiskInvertedIndex.java
----------------------------------------------------------------------
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 @@ public class PartitionedOnDiskInvertedIndex extends 
OnDiskInvertedIndex implemen
                 tokenExists = true;
             }
         } finally {
+            ctx.getBtreeCursor().destroy();
             ctx.getBtreeCursor().close();
-            ctx.getBtreeCursor().reset();
         }
         return tokenExists;
     }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/ExternalRTree.java
----------------------------------------------------------------------
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.bloomfilter.impls.BloomFilterSpecification;
 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 @@ import org.apache.hyracks.util.trace.ITracer;
  * 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 @@ public class ExternalRTree extends LSMRTree implements 
ITwoPCIndex {
                     builder.add(tuple);
                 }
             } finally {
-                btreeCursor.close();
+                btreeCursor.destroy();
                 builder.end();
             }
             btreeBulkLoader.end();
@@ -315,7 +312,7 @@ public class ExternalRTree extends LSMRTree implements 
ITwoPCIndex {
                 bulkLoader.add(frameTuple);
             }
         } finally {
-            cursor.close();
+            cursor.destroy();
         }
         bulkLoader.end();
         return mergedComponent;
@@ -584,7 +581,7 @@ public class ExternalRTree extends LSMRTree implements 
ITwoPCIndex {
         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));

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTree.java
----------------------------------------------------------------------
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 @@ public class LSMRTree extends AbstractLSMRTree {
                 numBTreeTuples = 
IntegerPointable.getInteger(countTuple.getFieldData(0), 
countTuple.getFieldStart(0));
             }
         } finally {
-            btreeCountingCursor.close();
+            btreeCountingCursor.destroy();
         }
 
         ILSMDiskComponentBulkLoader componentBulkLoader =
@@ -163,7 +163,7 @@ public class LSMRTree extends AbstractLSMRTree {
                 rTreeTupleSorter.insertTupleEntry(rtreeScanCursor.getPageId(), 
rtreeScanCursor.getTupleOffset());
             }
         } finally {
-            rtreeScanCursor.close();
+            rtreeScanCursor.destroy();
         }
         rTreeTupleSorter.sort();
 
@@ -177,7 +177,7 @@ public class LSMRTree extends AbstractLSMRTree {
                     componentBulkLoader.add(frameTuple);
                 }
             } finally {
-                cursor.close();
+                cursor.destroy();
             }
         }
 
@@ -191,7 +191,7 @@ public class LSMRTree extends AbstractLSMRTree {
                 componentBulkLoader.delete(frameTuple);
             }
         } finally {
-            btreeScanCursor.close();
+            btreeScanCursor.destroy();
         }
 
         if (component.getLSMComponentFilter() != null) {
@@ -241,7 +241,7 @@ public class LSMRTree extends AbstractLSMRTree {
                     componentBulkLoader.delete(tuple);
                 }
             } finally {
-                btreeCursor.close();
+                btreeCursor.destroy();
             }
         } else {
             //no buddy-btree needed
@@ -256,7 +256,7 @@ public class LSMRTree extends AbstractLSMRTree {
                 componentBulkLoader.add(frameTuple);
             }
         } finally {
-            cursor.close();
+            cursor.destroy();
         }
 
         if (mergedComponent.getLSMComponentFilter() != null) {
@@ -331,7 +331,7 @@ public class LSMRTree extends AbstractLSMRTree {
     @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,

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeAbstractCursor.java
----------------------------------------------------------------------
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;
 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.RTree.RTreeAccessor;
 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 @@ public abstract class LSMRTreeAbstractCursor implements 
ITreeIndexCursor {
                             (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 @@ public abstract class LSMRTreeAbstractCursor implements 
ITreeIndexCursor {
                     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 @@ public abstract class LSMRTreeAbstractCursor implements 
ITreeIndexCursor {
                         (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 @@ public abstract class LSMRTreeAbstractCursor implements 
ITreeIndexCursor {
     }
 
     @Override
-    public void close() throws HyracksDataException {
+    public void destroy() throws HyracksDataException {
         if (!open) {
             return;
         }
@@ -161,8 +160,8 @@ public abstract class LSMRTreeAbstractCursor implements 
ITreeIndexCursor {
         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 @@ public abstract class LSMRTreeAbstractCursor implements 
ITreeIndexCursor {
         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;
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeMergeOperation.java
----------------------------------------------------------------------
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);

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeSearchCursor.java
----------------------------------------------------------------------
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 @@ public class LSMRTreeSearchCursor extends 
LSMRTreeAbstractCursor {
     }
 
     @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 @@ public class LSMRTreeSearchCursor extends 
LSMRTreeAbstractCursor {
         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 @@ public class LSMRTreeSearchCursor extends 
LSMRTreeAbstractCursor {
 
     private void searchNextCursor() throws HyracksDataException {
         if (currentCursor < numberOfTrees) {
-            rtreeCursors[currentCursor].reset();
+            rtreeCursors[currentCursor].close();
             rtreeAccessors[currentCursor].search(rtreeCursors[currentCursor], 
rtreeSearchPredicate);
         }
     }
@@ -102,7 +102,7 @@ public class LSMRTreeSearchCursor extends 
LSMRTreeAbstractCursor {
                     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 @@ public class LSMRTreeSearchCursor extends 
LSMRTreeAbstractCursor {
                             killerTupleFound = true;
                         }
                     } finally {
-                        btreeCursors[i].close();
+                        btreeCursors[i].destroy();
                     }
                 }
                 if (!killerTupleFound) {
@@ -120,7 +120,7 @@ public class LSMRTreeSearchCursor extends 
LSMRTreeAbstractCursor {
                     return true;
                 }
             }
-            rtreeCursors[currentCursor].close();
+            rtreeCursors[currentCursor].destroy();
             currentCursor++;
             searchNextCursor();
         }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeSortedCursor.java
----------------------------------------------------------------------
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 @@ public class LSMRTreeSortedCursor extends 
LSMRTreeAbstractCursor {
         super(opCtx);
         this.linearizeCmp = linearizer.createBinaryComparator();
         this.btreeTuple = new PermutingTupleReference(buddyBTreeFields);
-        reset();
+        close();
     }
 
     public ILSMIndexOperationContext getOpCtx() {
@@ -51,12 +51,12 @@ public class LSMRTreeSortedCursor extends 
LSMRTreeAbstractCursor {
     }
 
     @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 @@ public class LSMRTreeSortedCursor extends 
LSMRTreeAbstractCursor {
             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 @@ public class LSMRTreeSortedCursor extends 
LSMRTreeAbstractCursor {
                         break;
                     }
                 } finally {
-                    btreeCursors[i].close();
+                    btreeCursors[i].destroy();
                 }
             }
             if (!killed) {
@@ -161,7 +161,7 @@ public class LSMRTreeSortedCursor extends 
LSMRTreeAbstractCursor {
         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();

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuples.java
----------------------------------------------------------------------
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.dataflow.common.data.accessors.ITupleReference;
 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 @@ public class LSMRTreeWithAntiMatterTuples extends 
AbstractLSMRTree {
                 rTreeTupleSorter.insertTupleEntry(rtreeScanCursor.getPageId(), 
rtreeScanCursor.getTupleOffset());
             }
         } finally {
-            rtreeScanCursor.close();
+            rtreeScanCursor.destroy();
         }
         if (!isEmpty) {
             rTreeTupleSorter.sort();
@@ -140,7 +139,7 @@ public class LSMRTreeWithAntiMatterTuples extends 
AbstractLSMRTree {
                 bTreeTupleSorter.insertTupleEntry(btreeScanCursor.getPageId(), 
btreeScanCursor.getTupleOffset());
             }
         } finally {
-            btreeScanCursor.close();
+            btreeScanCursor.destroy();
         }
         if (!isEmpty) {
             bTreeTupleSorter.sort();
@@ -158,7 +157,7 @@ public class LSMRTreeWithAntiMatterTuples extends 
AbstractLSMRTree {
                 componentBulkLoader.add(frameTuple);
             }
         } finally {
-            cursor.close();
+            cursor.destroy();
         }
 
         if (component.getLSMComponentFilter() != null) {
@@ -194,7 +193,7 @@ public class LSMRTreeWithAntiMatterTuples extends 
AbstractLSMRTree {
                 componentBulkLoader.add(frameTuple);
             }
         } finally {
-            cursor.close();
+            cursor.destroy();
         }
         if (component.getLSMComponentFilter() != null) {
             List<ITupleReference> filterTuples = new ArrayList<>();
@@ -234,7 +233,8 @@ public class LSMRTreeWithAntiMatterTuples extends 
AbstractLSMRTree {
         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());

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuplesFlushCursor.java
----------------------------------------------------------------------
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 @@ package org.apache.hyracks.storage.am.lsm.rtree.impls;
 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 @@ public class LSMRTreeWithAntiMatterTuplesFlushCursor 
implements ITreeIndexCursor
     }
 
     @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 @@ public class LSMRTreeWithAntiMatterTuplesFlushCursor 
implements ITreeIndexCursor
         return null;
     }
 
-    @Override
-    public void setBufferCache(IBufferCache bufferCache) {
-
-    }
-
-    @Override
-    public void setFileId(int fileId) {
-
-    }
-
-    @Override
-    public boolean isExclusiveLatchNodes() {
-        return false;
-    }
 }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeWithAntiMatterTuplesSearchCursor.java
----------------------------------------------------------------------
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 @@ public class LSMRTreeWithAntiMatterTuplesSearchCursor 
extends LSMIndexSearchCurs
 
     private void searchNextCursor() throws HyracksDataException {
         if (currentCursor < numMutableComponents) {
-            mutableRTreeCursors[currentCursor].reset();
+            mutableRTreeCursors[currentCursor].close();
             
mutableRTreeAccessors[currentCursor].search(mutableRTreeCursors[currentCursor], 
rtreeSearchPredicate);
         }
     }
@@ -161,7 +161,7 @@ public class LSMRTreeWithAntiMatterTuplesSearchCursor 
extends LSMIndexSearchCurs
                         return true;
                     }
                 }
-                mutableRTreeCursors[currentCursor].close();
+                mutableRTreeCursors[currentCursor].destroy();
                 currentCursor++;
                 searchNextCursor();
             }
@@ -216,7 +216,6 @@ public class LSMRTreeWithAntiMatterTuplesSearchCursor 
extends LSMIndexSearchCurs
         return filter == null ? null : filter.getMaxTuple();
     }
 
-
     @Override
     public void next() throws HyracksDataException {
         foundNext = false;
@@ -228,7 +227,7 @@ public class LSMRTreeWithAntiMatterTuplesSearchCursor 
extends LSMIndexSearchCurs
     }
 
     @Override
-    public void reset() throws HyracksDataException {
+    public void close() throws HyracksDataException {
         if (!open) {
             return;
         }
@@ -236,27 +235,27 @@ public class LSMRTreeWithAntiMatterTuplesSearchCursor 
extends LSMIndexSearchCurs
         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 @@ public class LSMRTreeWithAntiMatterTuplesSearchCursor 
extends LSMIndexSearchCurs
 
     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 @@ public class LSMRTreeWithAntiMatterTuplesSearchCursor 
extends LSMIndexSearchCurs
                     return false;
                 }
             } finally {
-                btreeCursors[i].close();
+                btreeCursors[i].destroy();
             }
         }
         return true;

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/TreeTupleSorter.java
----------------------------------------------------------------------
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 @@ public class TreeTupleSorter implements ITreeIndexCursor {
     }
 
     @Override
-    public void reset() {
+    public void close() {
         numTuples = 0;
         currentTupleIndex = 0;
     }
@@ -217,7 +217,7 @@ public class TreeTupleSorter implements ITreeIndexCursor {
     }
 
     @Override
-    public void close() throws HyracksDataException {
+    public void destroy() throws HyracksDataException {
         // do nothing
     }
 

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/impls/RTreeSearchCursor.java
----------------------------------------------------------------------
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 @@ public class RTreeSearchCursor implements ITreeIndexCursor {
     }
 
     @Override
-    public void close() throws HyracksDataException {
+    public void destroy() throws HyracksDataException {
         if (readLatched) {
             page.releaseReadLatch();
             bufferCache.unpin(page);
@@ -249,8 +249,8 @@ public class RTreeSearchCursor 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-common/src/main/java/org/apache/hyracks/storage/common/IIndexCursor.java
----------------------------------------------------------------------
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 @@ package org.apache.hyracks.storage.common;
 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,19 +76,19 @@ public interface IIndexCursor {
     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 close() throws HyracksDataException;
+    void destroy() throws HyracksDataException;
 
     /**
-     * Reset the cursor to be reused
+     * Close the cursor when done with it after a successful open
      *
      * @throws HyracksDataException
-     * @throws IndexException
      */
-    void reset() throws HyracksDataException;
+    void close() throws HyracksDataException;
 
     /**
      * @return the tuple pointed to by the cursor

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractSearchOperationCallbackTest.java
----------------------------------------------------------------------
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 @@ public abstract class AbstractSearchOperationCallbackTest 
extends AbstractOperat
                 // consume tuples [153, 300]
                 consumeIntTupleRange(153, 300, false, -1);
 
-                cursor.close();
+                cursor.destroy();
             } finally {
                 lock.unlock();
             }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexExamplesTest.java
----------------------------------------------------------------------
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.btree.util.BTreeUtils;
 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 @@ public abstract class OrderedIndexExamplesTest {
                 }
             }
         } finally {
-            scanCursor.close();
+            scanCursor.destroy();
         }
     }
 
@@ -796,7 +795,7 @@ public abstract class OrderedIndexExamplesTest {
                     }
                 }
             } finally {
-                diskOrderCursor.close();
+                diskOrderCursor.destroy();
             }
         } catch (UnsupportedOperationException e) {
             // Ignore exception because some indexes, e.g. the LSMBTree, don't
@@ -821,7 +820,7 @@ public abstract class OrderedIndexExamplesTest {
             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 @@ public abstract class OrderedIndexExamplesTest {
                 }
             }
         } finally {
-            rangeCursor.close();
+            rangeCursor.destroy();
         }
     }
 

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/OrderedIndexTestUtils.java
----------------------------------------------------------------------
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.btree.util.BTreeUtils;
 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 @@ public class OrderedIndexTestUtils extends 
TreeIndexTestUtils {
                         + "\nActual  : " + actualCount);
             }
         } finally {
-            searchCursor.close();
+            searchCursor.destroy();
         }
     }
 
@@ -180,7 +179,7 @@ public class OrderedIndexTestUtils extends 
TreeIndexTestUtils {
                     fail("Point search returned more than one answer.");
                 }
             } finally {
-                searchCursor.close();
+                searchCursor.destroy();
             }
         }
     }
@@ -477,7 +476,7 @@ public class OrderedIndexTestUtils extends 
TreeIndexTestUtils {
     }
 
     @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 @@ public class OrderedIndexTestUtils extends 
TreeIndexTestUtils {
                         + "\nActual  : " + actualCount);
             }
         } finally {
-            cursor.close();
+            cursor.destroy();
         }
 
     }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/AbstractIndexTestWorker.java
----------------------------------------------------------------------
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 @@ public abstract class AbstractIndexTestWorker extends Thread 
implements ITreeInd
                 cursor.next();
             }
         } finally {
-            cursor.close();
+            cursor.destroy();
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TreeIndexTestUtils.java
----------------------------------------------------------------------
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 java.util.Random;
 
 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.dataflow.common.utils.TupleUtils;
 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 @@ public abstract class TreeIndexTestUtils {
 
     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 @@ public abstract class TreeIndexTestUtils {
         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 @@ public abstract class TreeIndexTestUtils {
                 }
             } finally {
                 try {
-                    diskOrderCursor.close();
+                    diskOrderCursor.destroy();
                 } catch (Exception ex) {
                     LOGGER.log(Level.WARN, "Error during scan cursor close", 
ex);
                 }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/AbstractRTreeExamplesTest.java
----------------------------------------------------------------------
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.TestOperationCallback;
 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.impls.SearchPredicate;
 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 @@ public abstract class AbstractRTreeExamplesTest {
         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 @@ public abstract class AbstractRTreeExamplesTest {
                 }
             }
         } finally {
-            scanCursor.close();
+            scanCursor.destroy();
         }
     }
 
@@ -881,7 +881,7 @@ public abstract class AbstractRTreeExamplesTest {
                     }
                 }
             } finally {
-                diskOrderCursor.close();
+                diskOrderCursor.destroy();
             }
         } catch (UnsupportedOperationException e) {
             // Ignore exception because some indexes, e.g. the LSMRTree, don't
@@ -905,7 +905,7 @@ public abstract class AbstractRTreeExamplesTest {
             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 @@ public abstract class AbstractRTreeExamplesTest {
                 }
             }
         } finally {
-            rangeCursor.close();
+            rangeCursor.destroy();
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/rtree/RTreeTestUtils.java
----------------------------------------------------------------------
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.dataflow.common.utils.TupleUtils;
 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 @@ public class RTreeTestUtils extends TreeIndexTestUtils {
         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 @@ public class RTreeTestUtils extends TreeIndexTestUtils {
     }
 
     @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 @@ public class RTreeTestUtils extends TreeIndexTestUtils {
                         + "\nActual  : " + actualCount);
             }
         } finally {
-            cursor.close();
+            cursor.destroy();
         }
     }
 

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeSearchCursorTest.java
----------------------------------------------------------------------
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 @@ public class BTreeSearchCursorTest extends 
AbstractBTreeTest {
                 } catch (Exception e) {
                     e.printStackTrace();
                 } finally {
-                    rangeCursor.close();
+                    rangeCursor.destroy();
                 }
 
                 getExpectedResults(expectedResults, keys, lowKey, highKey, 
lowKeyInclusive, highKeyInclusive);

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/BTreeUpdateSearchTest.java
----------------------------------------------------------------------
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 @@ public class BTreeUpdateSearchTest extends 
AbstractBTreeTest {
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
-            updateScanCursor.close();
+            updateScanCursor.destroy();
         }
 
         // Ordered scan to verify the values.
@@ -169,7 +169,7 @@ public class BTreeUpdateSearchTest extends 
AbstractBTreeTest {
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
-            scanCursor.close();
+            scanCursor.destroy();
         }
         btree.deactivate();
         btree.destroy();

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-btree-test/src/test/java/org/apache/hyracks/storage/am/btree/multithread/BTreeTestWorker.java
----------------------------------------------------------------------
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 @@ public class BTreeTestWorker extends 
AbstractIndexTestWorker {
                 break;
 
             case POINT_SEARCH:
-                searchCursor.reset();
+                searchCursor.close();
                 rangePred.setLowKey(tuple, true);
                 rangePred.setHighKey(tuple, true);
                 accessor.search(searchCursor, rangePred);
@@ -115,7 +115,7 @@ public class BTreeTestWorker extends 
AbstractIndexTestWorker {
                 break;
 
             case SCAN:
-                searchCursor.reset();
+                searchCursor.close();
                 rangePred.setLowKey(null, true);
                 rangePred.setHighKey(null, true);
                 accessor.search(searchCursor, rangePred);
@@ -123,7 +123,7 @@ public class BTreeTestWorker extends 
AbstractIndexTestWorker {
                 break;
 
             case DISKORDER_SCAN:
-                diskOrderScanCursor.reset();
+                diskOrderScanCursor.close();
                 accessor.diskOrderScan(diskOrderScanCursor);
                 consumeCursorTuples(diskOrderScanCursor);
                 break;
@@ -139,7 +139,7 @@ public class BTreeTestWorker extends 
AbstractIndexTestWorker {
                 cursor.next();
             }
         } finally {
-            cursor.close();
+            cursor.destroy();
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeSearchOperationCallbackTest.java
----------------------------------------------------------------------
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 @@ public class LSMBTreeSearchOperationCallbackTest extends 
AbstractSearchOperation
                 // consume tuples [152, 300]
                 consumeIntTupleRange(152, 300, false, -1);
 
-                cursor.close();
+                cursor.destroy();
             } finally {
                 lock.unlock();
             }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/LSMBTreeUpdateInPlaceScanDiskComponentsTest.java
----------------------------------------------------------------------
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 @@ public class LSMBTreeUpdateInPlaceScanDiskComponentsTest 
extends OrderedIndexTes
             }
             Assert.assertFalse(cursor.hasNext());
         } finally {
-            cursor.close();
+            cursor.destroy();
         }
     }
 

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-btree-test/src/test/java/org/apache/hyracks/storage/am/lsm/btree/multithread/LSMBTreeTestWorker.java
----------------------------------------------------------------------
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 @@ public class LSMBTreeTestWorker extends 
AbstractIndexTestWorker {
                 break;
 
             case POINT_SEARCH:
-                searchCursor.reset();
+                searchCursor.close();
                 rangePred.setLowKey(tuple, true);
                 rangePred.setHighKey(tuple, true);
                 accessor.search(searchCursor, rangePred);
@@ -109,7 +109,7 @@ public class LSMBTreeTestWorker extends 
AbstractIndexTestWorker {
                 break;
 
             case SCAN:
-                searchCursor.reset();
+                searchCursor.close();
                 rangePred.setLowKey(null, true);
                 rangePred.setHighKey(null, true);
                 accessor.search(searchCursor, rangePred);

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-invertedindex-test/src/test/java/org/apache/hyracks/storage/am/lsm/invertedindex/multithread/LSMInvertedIndexTestWorker.java
----------------------------------------------------------------------
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 @@ public class LSMInvertedIndexTestWorker extends 
AbstractIndexTestWorker {
             }
 
             case POINT_SEARCH: {
-                searchCursor.reset();
+                searchCursor.close();
                 searchPred.setQueryTuple(tuple);
                 searchPred.setQueryFieldIndex(0);
                 try {
@@ -107,7 +107,7 @@ public class LSMInvertedIndexTestWorker extends 
AbstractIndexTestWorker {
             }
 
             case SCAN: {
-                rangeSearchCursor.reset();
+                rangeSearchCursor.close();
                 accessor.rangeSearch(rangeSearchCursor, rangePred);
                 consumeCursorTuples(rangeSearchCursor);
                 break;

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-invertedindex-test/src/test/java/org/apache/hyracks/storage/am/lsm/invertedindex/util/LSMInvertedIndexTestUtils.java
----------------------------------------------------------------------
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 @@ public class LSMInvertedIndexTestUtils {
                 fail("Indexes do not match. Actual index contains too many 
entries.");
             }
         } finally {
-            invIndexCursor.close();
+            invIndexCursor.destroy();
         }
     }
 
@@ -574,7 +574,7 @@ public class LSMInvertedIndexTestUtils {
                     }
                 }
             } finally {
-                resultCursor.close();
+                resultCursor.destroy();
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/AbstractLSMRTreeTestWorker.java
----------------------------------------------------------------------
diff --git 
a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/AbstractLSMRTreeTestWorker.java
 
b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/AbstractLSMRTreeTestWorker.java
index 22021bd..081ef7a 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/AbstractLSMRTreeTestWorker.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/AbstractLSMRTreeTestWorker.java
@@ -83,7 +83,7 @@ public abstract class AbstractLSMRTreeTestWorker extends 
AbstractIndexTestWorker
                 cursor.next();
             }
         } finally {
-            cursor.close();
+            cursor.destroy();
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/LSMRTreeTestWorker.java
----------------------------------------------------------------------
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.LSMRTreeAccessor;
 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 @@ public class LSMRTreeTestWorker extends 
AbstractIndexTestWorker {
     @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 @@ public class LSMRTreeTestWorker extends 
AbstractIndexTestWorker {
                 break;
 
             case SCAN:
-                searchCursor.reset();
+                searchCursor.close();
                 rangePred.setSearchKey(null);
                 accessor.search(searchCursor, rangePred);
                 consumeCursorTuples(searchCursor);
@@ -122,7 +123,7 @@ public class LSMRTreeTestWorker extends 
AbstractIndexTestWorker {
                 cursor.next();
             }
         } finally {
-            cursor.close();
+            cursor.destroy();
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-lsm-rtree-test/src/test/java/org/apache/hyracks/storage/am/lsm/rtree/multithread/LSMRTreeWithAntiMatterTuplesTestWorker.java
----------------------------------------------------------------------
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.api.exceptions.HyracksDataException;
 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 @@ public class LSMRTreeWithAntiMatterTuplesTestWorker extends 
AbstractLSMRTreeTest
     @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 @@ public class LSMRTreeWithAntiMatterTuplesTestWorker extends 
AbstractLSMRTreeTest
                 break;
 
             case SCAN:
-                searchCursor.reset();
+                searchCursor.close();
                 rangePred.setSearchKey(null);
                 accessor.search(searchCursor, rangePred);
                 consumeCursorTuples(searchCursor);

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/08dc8597/hyracks-fullstack/hyracks/hyracks-tests/hyracks-storage-am-rtree-test/src/test/java/org/apache/hyracks/storage/am/rtree/multithread/RTreeTestWorker.java
----------------------------------------------------------------------
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 @@ public class RTreeTestWorker extends 
AbstractIndexTestWorker {
                 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;

Reply via email to