http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java index efd7f8c..e05a7b1 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java @@ -34,7 +34,7 @@ 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.impls.NoOpOperationCallback; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; 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; @@ -625,8 +625,7 @@ public class LSMHarness implements ILSMHarness { protected void triggerReplication(List<ILSMDiskComponent> lsmComponents, boolean bulkload, LSMOperationType opType) throws HyracksDataException { - ILSMIndexAccessor accessor = - lsmIndex.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + ILSMIndexAccessor accessor = lsmIndex.createAccessor(NoOpIndexAccessParameters.INSTANCE); accessor.scheduleReplication(lsmComponents, bulkload, opType); }
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/PrefixMergePolicy.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/PrefixMergePolicy.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/PrefixMergePolicy.java index 7d7266e..73b5d20 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/PrefixMergePolicy.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/PrefixMergePolicy.java @@ -26,7 +26,7 @@ import java.util.Map; import org.apache.commons.lang3.tuple.Pair; import org.apache.hyracks.api.exceptions.HyracksDataException; -import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponent; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponent.ComponentState; import org.apache.hyracks.storage.am.lsm.common.api.ILSMDiskComponent; @@ -59,8 +59,7 @@ public class PrefixMergePolicy implements ILSMMergePolicy { } if (fullMergeIsRequested) { - ILSMIndexAccessor accessor = - index.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + ILSMIndexAccessor accessor = index.createAccessor(NoOpIndexAccessParameters.INSTANCE); accessor.scheduleFullMerge(index.getIOOperationCallback()); return; } @@ -245,8 +244,7 @@ public class PrefixMergePolicy implements ILSMMergePolicy { // Reverse the components order back to its original order Collections.reverse(mergableComponents); - ILSMIndexAccessor accessor = - index.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + ILSMIndexAccessor accessor = index.createAccessor(NoOpIndexAccessParameters.INSTANCE); accessor.scheduleMerge(index.getIOOperationCallback(), mergableComponents); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/ThreadCountingTracker.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/ThreadCountingTracker.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/ThreadCountingTracker.java index 85081a1..93ac669 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/ThreadCountingTracker.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/ThreadCountingTracker.java @@ -21,7 +21,7 @@ package org.apache.hyracks.storage.am.lsm.common.impls; import java.util.concurrent.atomic.AtomicInteger; import org.apache.hyracks.api.exceptions.HyracksDataException; -import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIndex; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIndexAccessor; import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTracker; @@ -57,8 +57,7 @@ public class ThreadCountingTracker implements ILSMOperationTracker { // Flush will only be handled by last exiting thread. if (opType == LSMOperationType.MODIFICATION && threadRefCount.decrementAndGet() == 0 && index.hasFlushRequestForCurrentMutableComponent()) { - ILSMIndexAccessor accessor = - index.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + ILSMIndexAccessor accessor = index.createAccessor(NoOpIndexAccessParameters.INSTANCE); accessor.scheduleFlush(NoOpIOOperationCallbackFactory.INSTANCE.createIoOpCallback()); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/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 5a773cc..e595000 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 @@ -36,7 +36,7 @@ import org.apache.hyracks.storage.am.btree.impls.BTree.BTreeAccessor; import org.apache.hyracks.storage.am.btree.impls.RangePredicate; import org.apache.hyracks.storage.am.btree.util.BTreeUtils; import org.apache.hyracks.storage.am.common.api.IIndexOperationContext; -import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.common.tuples.PermutingTupleReference; import org.apache.hyracks.storage.am.lsm.common.api.IComponentFilterHelper; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponent; @@ -51,7 +51,6 @@ import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationScheduler; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIndexAccessor; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIndexFileManager; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIndexOperationContext; -import org.apache.hyracks.storage.am.lsm.common.api.ILSMMemoryComponent; import org.apache.hyracks.storage.am.lsm.common.api.ILSMMergePolicy; import org.apache.hyracks.storage.am.lsm.common.api.ILSMOperationTracker; import org.apache.hyracks.storage.am.lsm.common.api.IVirtualBufferCache; @@ -64,11 +63,11 @@ import org.apache.hyracks.storage.am.lsm.common.impls.LSMIndexSearchCursor; import org.apache.hyracks.storage.am.lsm.invertedindex.api.IInvertedIndex; import org.apache.hyracks.storage.am.lsm.invertedindex.inmemory.InMemoryInvertedIndex; import org.apache.hyracks.storage.am.lsm.invertedindex.inmemory.InMemoryInvertedIndexAccessor; -import org.apache.hyracks.storage.am.lsm.invertedindex.ondisk.OnDiskInvertedIndex; import org.apache.hyracks.storage.am.lsm.invertedindex.search.InvertedIndexSearchPredicate; import org.apache.hyracks.storage.am.lsm.invertedindex.tokenizers.IBinaryTokenizerFactory; import org.apache.hyracks.storage.am.lsm.invertedindex.util.InvertedIndexUtils; import org.apache.hyracks.storage.common.ICursorInitialState; +import org.apache.hyracks.storage.common.IIndexAccessParameters; import org.apache.hyracks.storage.common.IIndexAccessor; import org.apache.hyracks.storage.common.IIndexCursor; import org.apache.hyracks.storage.common.IModificationOperationCallback; @@ -202,18 +201,18 @@ public class LSMInvertedIndex extends AbstractLSMIndex implements IInvertedIndex ILSMComponent component = operationalComponents.get(i); if (component.getType() == LSMComponentType.MEMORY) { includeMutableComponent = true; - IIndexAccessor invIndexAccessor = component.getIndex() - .createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + IIndexAccessor invIndexAccessor = + component.getIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); indexAccessors.add(invIndexAccessor); IIndexAccessor deletedKeysAccessor = ((LSMInvertedIndexMemoryComponent) component).getBuddyIndex() - .createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + .createAccessor(NoOpIndexAccessParameters.INSTANCE); deletedKeysBTreeAccessors.add(deletedKeysAccessor); } else { - IIndexAccessor invIndexAccessor = component.getIndex() - .createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + IIndexAccessor invIndexAccessor = + component.getIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); indexAccessors.add(invIndexAccessor); IIndexAccessor deletedKeysAccessor = ((LSMInvertedIndexDiskComponent) component).getBuddyIndex() - .createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + .createAccessor(NoOpIndexAccessParameters.INSTANCE); deletedKeysBTreeAccessors.add(deletedKeysAccessor); } } @@ -281,8 +280,8 @@ public class LSMInvertedIndex extends AbstractLSMIndex implements IInvertedIndex RangePredicate nullPred = new RangePredicate(null, null, true, true, null, null); // Search the deleted keys BTree to calculate the number of elements for BloomFilter - BTreeAccessor deletedKeysBTreeAccessor = flushingComponent.getBuddyIndex() - .createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + BTreeAccessor deletedKeysBTreeAccessor = + flushingComponent.getBuddyIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); IIndexCursor btreeCountingCursor = deletedKeysBTreeAccessor.createCountingSearchCursor(); deletedKeysBTreeAccessor.search(btreeCountingCursor, nullPred); long numBTreeTuples = 0L; @@ -313,8 +312,8 @@ public class LSMInvertedIndex extends AbstractLSMIndex implements IInvertedIndex } // Scan the in-memory inverted index - InMemoryInvertedIndexAccessor memInvIndexAccessor = flushingComponent.getIndex() - .createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + InMemoryInvertedIndexAccessor memInvIndexAccessor = + flushingComponent.getIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); BTreeAccessor memBTreeAccessor = memInvIndexAccessor.getBTreeAccessor(); IIndexCursor scanCursor = memBTreeAccessor.createSearchCursor(false); memBTreeAccessor.search(scanCursor, nullPred); @@ -426,9 +425,9 @@ public class LSMInvertedIndex extends AbstractLSMIndex implements IInvertedIndex } @Override - public ILSMIndexAccessor createAccessor(IModificationOperationCallback modificationCallback, - ISearchOperationCallback searchCallback) throws HyracksDataException { - return new LSMInvertedIndexAccessor(getLsmHarness(), createOpContext(modificationCallback, searchCallback)); + public ILSMIndexAccessor createAccessor(IIndexAccessParameters iap) throws HyracksDataException { + return new LSMInvertedIndexAccessor(getLsmHarness(), + createOpContext(iap.getModificationCallback(), iap.getSearchOperationCallback())); } @Override http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexOpContext.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexOpContext.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexOpContext.java index 30300d3..12341da 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexOpContext.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexOpContext.java @@ -23,7 +23,7 @@ import java.util.List; import org.apache.hyracks.api.dataflow.value.IBinaryComparatorFactory; import org.apache.hyracks.api.exceptions.HyracksDataException; -import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.common.tuples.PermutingTupleReference; import org.apache.hyracks.storage.am.lsm.common.api.ILSMMemoryComponent; import org.apache.hyracks.storage.am.lsm.common.impls.AbstractLSMIndexOperationContext; @@ -58,11 +58,11 @@ public class LSMInvertedIndexOpContext extends AbstractLSMIndexOperationContext if (allFields != null) { mutableInvIndexAccessors[i] = mutableComponent.getIndex().createAccessor(allFields); } else { - mutableInvIndexAccessors[i] = mutableComponent.getIndex().createAccessor(NoOpOperationCallback.INSTANCE, - NoOpOperationCallback.INSTANCE); + mutableInvIndexAccessors[i] = + mutableComponent.getIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); } - deletedKeysBTreeAccessors[i] = mutableComponent.getBuddyIndex() - .createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + deletedKeysBTreeAccessors[i] = + mutableComponent.getBuddyIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); } // Project away the document fields, leaving only the key fields. LSMInvertedIndexMemoryComponent c = (LSMInvertedIndexMemoryComponent) mutableComponents.get(0); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndex.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndex.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndex.java index 77dc751..2e2f78e 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndex.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndex.java @@ -34,9 +34,8 @@ import org.apache.hyracks.storage.am.common.ophelpers.IndexOperation; import org.apache.hyracks.storage.am.lsm.invertedindex.api.IInPlaceInvertedIndex; import org.apache.hyracks.storage.am.lsm.invertedindex.api.IInvertedListCursor; import org.apache.hyracks.storage.am.lsm.invertedindex.tokenizers.IBinaryTokenizerFactory; +import org.apache.hyracks.storage.common.IIndexAccessParameters; import org.apache.hyracks.storage.common.IIndexBulkLoader; -import org.apache.hyracks.storage.common.IModificationOperationCallback; -import org.apache.hyracks.storage.common.ISearchOperationCallback; import org.apache.hyracks.storage.common.buffercache.IBufferCache; public class InMemoryInvertedIndex implements IInPlaceInvertedIndex { @@ -166,8 +165,7 @@ public class InMemoryInvertedIndex implements IInPlaceInvertedIndex { } @Override - public InMemoryInvertedIndexAccessor createAccessor(IModificationOperationCallback modificationCallback, - ISearchOperationCallback searchCallback) throws HyracksDataException { + public InMemoryInvertedIndexAccessor createAccessor(IIndexAccessParameters iap) throws HyracksDataException { return new InMemoryInvertedIndexAccessor(this, new InMemoryInvertedIndexOpContext(btree, tokenCmpFactories, tokenizerFactory)); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndexAccessor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndexAccessor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndexAccessor.java index 73f90a6..6777177 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndexAccessor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndexAccessor.java @@ -26,6 +26,7 @@ import org.apache.hyracks.storage.am.btree.api.IBTreeLeafFrame; 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.common.api.IIndexOperationContext; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; import org.apache.hyracks.storage.am.common.ophelpers.IndexOperation; import org.apache.hyracks.storage.am.lsm.invertedindex.api.IInvertedIndexAccessor; @@ -51,8 +52,7 @@ public class InMemoryInvertedIndexAccessor implements IInvertedIndexAccessor { this.opCtx = opCtx; this.index = index; this.searcher = createSearcher(); - this.btreeAccessor = - index.getBTree().createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + this.btreeAccessor = index.getBTree().createAccessor(NoOpIndexAccessParameters.INSTANCE); } public InMemoryInvertedIndexAccessor(InMemoryInvertedIndex index, IIndexOperationContext opCtx, http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndexOpContext.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndexOpContext.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndexOpContext.java index 90dbc81..eec20fd 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndexOpContext.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/InMemoryInvertedIndexOpContext.java @@ -24,7 +24,7 @@ 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.RangePredicate; import org.apache.hyracks.storage.am.common.api.IIndexOperationContext; -import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.common.ophelpers.IndexOperation; import org.apache.hyracks.storage.am.lsm.invertedindex.tokenizers.IBinaryTokenizer; import org.apache.hyracks.storage.am.lsm.invertedindex.tokenizers.IBinaryTokenizerFactory; @@ -67,8 +67,7 @@ public class InMemoryInvertedIndexOpContext implements IIndexOperationContext { case SEARCH: { if (getBtreePred() == null) { btreePred = new RangePredicate(null, null, true, true, null, null); - btreeAccessor = - btree.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + btreeAccessor = btree.createAccessor(NoOpIndexAccessParameters.INSTANCE); btreeCmp = MultiComparator.create(btree.getComparatorFactories()); tokenFieldsCmp = MultiComparator.create(tokenCmpFactories); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/PartitionedInMemoryInvertedIndex.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/PartitionedInMemoryInvertedIndex.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/PartitionedInMemoryInvertedIndex.java index 933ef21..5ddba98 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/PartitionedInMemoryInvertedIndex.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/inmemory/PartitionedInMemoryInvertedIndex.java @@ -37,8 +37,7 @@ import org.apache.hyracks.storage.am.lsm.invertedindex.search.InvertedListPartit import org.apache.hyracks.storage.am.lsm.invertedindex.search.PartitionedTOccurrenceSearcher; import org.apache.hyracks.storage.am.lsm.invertedindex.tokenizers.IBinaryTokenizerFactory; import org.apache.hyracks.storage.am.lsm.invertedindex.util.PartitionedInvertedIndexTokenizingTupleIterator; -import org.apache.hyracks.storage.common.IModificationOperationCallback; -import org.apache.hyracks.storage.common.ISearchOperationCallback; +import org.apache.hyracks.storage.common.IIndexAccessParameters; import org.apache.hyracks.storage.common.buffercache.IBufferCache; public class PartitionedInMemoryInvertedIndex extends InMemoryInvertedIndex implements IPartitionedInvertedIndex { @@ -87,8 +86,8 @@ public class PartitionedInMemoryInvertedIndex extends InMemoryInvertedIndex impl } @Override - public PartitionedInMemoryInvertedIndexAccessor createAccessor(IModificationOperationCallback modificationCallback, - ISearchOperationCallback searchCallback) throws HyracksDataException { + public PartitionedInMemoryInvertedIndexAccessor createAccessor(IIndexAccessParameters iap) + throws HyracksDataException { return new PartitionedInMemoryInvertedIndexAccessor(this, new PartitionedInMemoryInvertedIndexOpContext(btree, tokenCmpFactories, tokenizerFactory)); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/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 6244ee7..1a58f3d 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 @@ -41,7 +41,7 @@ import org.apache.hyracks.storage.am.btree.impls.RangePredicate; import org.apache.hyracks.storage.am.btree.util.BTreeUtils; import org.apache.hyracks.storage.am.common.api.IIndexOperationContext; import org.apache.hyracks.storage.am.common.api.IPageManagerFactory; -import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.common.tuples.PermutingTupleReference; import org.apache.hyracks.storage.am.lsm.invertedindex.api.IInPlaceInvertedIndex; import org.apache.hyracks.storage.am.lsm.invertedindex.api.IInvertedIndexAccessor; @@ -50,11 +50,10 @@ import org.apache.hyracks.storage.am.lsm.invertedindex.api.IInvertedListBuilder; import org.apache.hyracks.storage.am.lsm.invertedindex.api.IInvertedListCursor; import org.apache.hyracks.storage.am.lsm.invertedindex.search.InvertedIndexSearchPredicate; import org.apache.hyracks.storage.am.lsm.invertedindex.search.TOccurrenceSearcher; +import org.apache.hyracks.storage.common.IIndexAccessParameters; 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.IModificationOperationCallback; -import org.apache.hyracks.storage.common.ISearchOperationCallback; import org.apache.hyracks.storage.common.ISearchPredicate; import org.apache.hyracks.storage.common.MultiComparator; import org.apache.hyracks.storage.common.buffercache.IBufferCache; @@ -486,8 +485,7 @@ public class OnDiskInvertedIndex implements IInPlaceInvertedIndex { } @Override - public OnDiskInvertedIndexAccessor createAccessor(IModificationOperationCallback modificationCallback, - ISearchOperationCallback searchCallback) throws HyracksDataException { + public OnDiskInvertedIndexAccessor createAccessor(IIndexAccessParameters iap) throws HyracksDataException { return new OnDiskInvertedIndexAccessor(this); } @@ -542,8 +540,7 @@ public class OnDiskInvertedIndex implements IInPlaceInvertedIndex { public void validate() throws HyracksDataException { btree.validate(); // Scan the btree and validate the order of elements in each inverted-list. - IIndexAccessor btreeAccessor = - btree.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + IIndexAccessor btreeAccessor = btree.createAccessor(NoOpIndexAccessParameters.INSTANCE); IIndexCursor btreeCursor = btreeAccessor.createSearchCursor(false); MultiComparator btreeCmp = MultiComparator.create(btree.getComparatorFactories()); RangePredicate rangePred = new RangePredicate(null, null, true, true, btreeCmp, btreeCmp); @@ -553,8 +550,7 @@ public class OnDiskInvertedIndex implements IInPlaceInvertedIndex { } PermutingTupleReference tokenTuple = new PermutingTupleReference(fieldPermutation); - IInvertedIndexAccessor invIndexAccessor = - createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + IInvertedIndexAccessor invIndexAccessor = createAccessor(NoOpIndexAccessParameters.INSTANCE); IInvertedListCursor invListCursor = invIndexAccessor.createInvertedListCursor(); MultiComparator invListCmp = MultiComparator.create(invListCmpFactories); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexOpContext.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexOpContext.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexOpContext.java index 69bf2a2..fda3775 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexOpContext.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/ondisk/OnDiskInvertedIndexOpContext.java @@ -22,7 +22,7 @@ package org.apache.hyracks.storage.am.lsm.invertedindex.ondisk; import org.apache.hyracks.storage.am.btree.impls.BTree; 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.impls.NoOpOperationCallback; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.common.ophelpers.IndexOperation; import org.apache.hyracks.storage.common.IIndexAccessor; import org.apache.hyracks.storage.common.IIndexCursor; @@ -39,7 +39,7 @@ public class OnDiskInvertedIndexOpContext implements IIndexOperationContext { public OnDiskInvertedIndexOpContext(BTree btree) { // TODO: Ignore opcallbacks for now. - btreeAccessor = btree.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + btreeAccessor = btree.createAccessor(NoOpIndexAccessParameters.INSTANCE); btreeCursor = btreeAccessor.createSearchCursor(false); searchCmp = MultiComparator.create(btree.getComparatorFactories()); if (btree.getComparatorFactories().length > 1) { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/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 fc6f025..b2aff3a 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 @@ -23,7 +23,7 @@ import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; import org.apache.hyracks.storage.am.btree.impls.BTree; 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.impls.NoOpOperationCallback; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.common.tuples.ConcatenatingTupleReference; import org.apache.hyracks.storage.am.common.tuples.PermutingTupleReference; import org.apache.hyracks.storage.am.lsm.invertedindex.api.IInPlaceInvertedIndex; @@ -53,7 +53,7 @@ public class OnDiskInvertedIndexRangeSearchCursor implements IIndexCursor { public OnDiskInvertedIndexRangeSearchCursor(IInPlaceInvertedIndex invIndex, IIndexOperationContext opCtx) { this.btree = ((OnDiskInvertedIndex) invIndex).getBTree(); - this.btreeAccessor = btree.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + this.btreeAccessor = btree.createAccessor(NoOpIndexAccessParameters.INSTANCE); this.invIndex = invIndex; this.opCtx = opCtx; // Project away non-token fields of the BTree tuples. http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/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 569c51d..a33d6d3 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 @@ -35,8 +35,7 @@ import org.apache.hyracks.storage.am.lsm.invertedindex.api.IInvertedListCursor; import org.apache.hyracks.storage.am.lsm.invertedindex.api.IPartitionedInvertedIndex; import org.apache.hyracks.storage.am.lsm.invertedindex.search.InvertedListPartitions; import org.apache.hyracks.storage.am.lsm.invertedindex.search.PartitionedTOccurrenceSearcher; -import org.apache.hyracks.storage.common.IModificationOperationCallback; -import org.apache.hyracks.storage.common.ISearchOperationCallback; +import org.apache.hyracks.storage.common.IIndexAccessParameters; import org.apache.hyracks.storage.common.buffercache.IBufferCache; public class PartitionedOnDiskInvertedIndex extends OnDiskInvertedIndex implements IPartitionedInvertedIndex { @@ -58,8 +57,8 @@ public class PartitionedOnDiskInvertedIndex extends OnDiskInvertedIndex implemen } @Override - public PartitionedOnDiskInvertedIndexAccessor createAccessor(IModificationOperationCallback modificationCallback, - ISearchOperationCallback searchCallback) throws HyracksDataException { + public PartitionedOnDiskInvertedIndexAccessor createAccessor(IIndexAccessParameters iap) + throws HyracksDataException { return new PartitionedOnDiskInvertedIndexAccessor(this); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/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 228f359..389df3e 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 @@ -54,9 +54,9 @@ import org.apache.hyracks.storage.am.lsm.common.impls.BlockingIOOperationCallbac import org.apache.hyracks.storage.am.lsm.common.impls.ExternalIndexHarness; import org.apache.hyracks.storage.am.lsm.common.impls.LSMComponentFileReferences; import org.apache.hyracks.storage.am.rtree.impls.SearchPredicate; +import org.apache.hyracks.storage.common.IIndexAccessParameters; import org.apache.hyracks.storage.common.IIndexBulkLoader; import org.apache.hyracks.storage.common.IIndexCursor; -import org.apache.hyracks.storage.common.IModificationOperationCallback; import org.apache.hyracks.storage.common.ISearchOperationCallback; import org.apache.hyracks.storage.common.ISearchPredicate; import org.apache.hyracks.storage.common.buffercache.IBufferCache; @@ -610,9 +610,9 @@ public class ExternalRTree extends LSMRTree implements ITwoPCIndex { // The accessor for disk only indexes don't use modification callback and // always carry the target index version with them @Override - public ILSMIndexAccessor createAccessor(IModificationOperationCallback modificationCallback, - ISearchOperationCallback searchCallback) { - return new LSMRTreeAccessor(getLsmHarness(), createOpContext(searchCallback, version), buddyBTreeFields); + public ILSMIndexAccessor createAccessor(IIndexAccessParameters iap) { + return new LSMRTreeAccessor(getLsmHarness(), createOpContext(iap.getSearchOperationCallback(), version), + buddyBTreeFields); } @Override http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/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 9ba96a6..f5c228c 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 @@ -34,7 +34,7 @@ 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.ITreeIndexCursor; import org.apache.hyracks.storage.am.common.api.ITreeIndexFrameFactory; -import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.common.ophelpers.IndexOperation; import org.apache.hyracks.storage.am.common.tuples.DualTupleReference; import org.apache.hyracks.storage.am.lsm.common.api.IComponentFilterHelper; @@ -58,9 +58,8 @@ import org.apache.hyracks.storage.am.rtree.frames.RTreeFrameFactory; 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.IIndexAccessParameters; import org.apache.hyracks.storage.common.IIndexCursor; -import org.apache.hyracks.storage.common.IModificationOperationCallback; -import org.apache.hyracks.storage.common.ISearchOperationCallback; import org.apache.hyracks.storage.common.ISearchPredicate; import org.apache.hyracks.storage.common.buffercache.IBufferCache; @@ -115,8 +114,8 @@ public class LSMRTree extends AbstractLSMRTree { // The RTree should be renamed before the BTree. // scan the memory RTree - RTreeAccessor memRTreeAccessor = flushingComponent.getIndex().createAccessor(NoOpOperationCallback.INSTANCE, - NoOpOperationCallback.INSTANCE); + RTreeAccessor memRTreeAccessor = + flushingComponent.getIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); RTreeSearchCursor rtreeScanCursor = memRTreeAccessor.createSearchCursor(false); SearchPredicate rtreeNullPredicate = new SearchPredicate(null, null); memRTreeAccessor.search(rtreeScanCursor, rtreeNullPredicate); @@ -125,8 +124,8 @@ public class LSMRTree extends AbstractLSMRTree { flushOp.getBTreeTarget(), flushOp.getBloomFilterTarget(), true); //count the number of tuples in the buddy btree - BTreeAccessor memBTreeAccessor = flushingComponent.getBuddyIndex() - .createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + BTreeAccessor memBTreeAccessor = + flushingComponent.getBuddyIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); RangePredicate btreeNullPredicate = new RangePredicate(null, null, true, true, null, null); IIndexCursor btreeCountingCursor = memBTreeAccessor.createCountingSearchCursor(); memBTreeAccessor.search(btreeCountingCursor, btreeNullPredicate); @@ -274,10 +273,9 @@ public class LSMRTree extends AbstractLSMRTree { } @Override - public ILSMIndexAccessor createAccessor(IModificationOperationCallback modificationCallback, - ISearchOperationCallback searchCallback) { - return new LSMRTreeAccessor(getLsmHarness(), createOpContext(modificationCallback, searchCallback), - buddyBTreeFields); + public ILSMIndexAccessor createAccessor(IIndexAccessParameters iap) { + return new LSMRTreeAccessor(getLsmHarness(), + createOpContext(iap.getModificationCallback(), iap.getSearchOperationCallback()), buddyBTreeFields); } // This function is modified for R-Trees without antimatter tuples to allow buddy B-Tree to have only primary keys http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/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 77219a2..2d2b548 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 @@ -29,6 +29,7 @@ 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; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponent.LSMComponentType; @@ -136,10 +137,8 @@ public abstract class LSMRTreeAbstractCursor implements ITreeIndexCursor { rtreeCursors[i].reset(); } if (rtreeAccessors[i] == null) { - rtreeAccessors[i] = - rtree.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); - btreeAccessors[i] = - btree.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + rtreeAccessors[i] = rtree.createAccessor(NoOpIndexAccessParameters.INSTANCE); + btreeAccessors[i] = btree.createAccessor(NoOpIndexAccessParameters.INSTANCE); } else { rtreeAccessors[i].reset(rtree, NoOpOperationCallback.INSTANCE); btreeAccessors[i].reset(btree, NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeDeletedKeysBTreeMergeCursor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeDeletedKeysBTreeMergeCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeDeletedKeysBTreeMergeCursor.java index d20b1bd..df4e16e 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeDeletedKeysBTreeMergeCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeDeletedKeysBTreeMergeCursor.java @@ -25,7 +25,7 @@ import org.apache.hyracks.storage.am.btree.impls.BTree; 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.ITreeIndexAccessor; -import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponent; import org.apache.hyracks.storage.am.lsm.common.api.ILSMIndexOperationContext; import org.apache.hyracks.storage.am.lsm.common.impls.LSMIndexSearchCursor; @@ -62,7 +62,7 @@ public class LSMRTreeDeletedKeysBTreeMergeCursor extends LSMIndexSearchCursor { IBTreeLeafFrame leafFrame = (IBTreeLeafFrame) lsmInitialState.getBTreeLeafFrameFactory().createFrame(); rangeCursors[i] = new BTreeRangeSearchCursor(leafFrame, false); BTree btree = ((LSMRTreeDiskComponent) component).getBuddyIndex(); - btreeAccessors[i] = btree.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + btreeAccessors[i] = btree.createAccessor(NoOpIndexAccessParameters.INSTANCE); btreeAccessors[i].search(rangeCursors[i], btreePredicate); } setPriorityQueueComparator(); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeOpContext.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeOpContext.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeOpContext.java index 74d9685..f54f8b9 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeOpContext.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-rtree/src/main/java/org/apache/hyracks/storage/am/lsm/rtree/impls/LSMRTreeOpContext.java @@ -25,6 +25,7 @@ import org.apache.hyracks.api.dataflow.value.IBinaryComparatorFactory; import org.apache.hyracks.storage.am.btree.impls.BTree; import org.apache.hyracks.storage.am.btree.impls.BTreeOpContext; import org.apache.hyracks.storage.am.common.api.ITreeIndexFrameFactory; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; import org.apache.hyracks.storage.am.common.ophelpers.IndexOperation; import org.apache.hyracks.storage.am.lsm.common.api.ILSMHarness; @@ -65,11 +66,11 @@ public final class LSMRTreeOpContext extends AbstractLSMIndexOperationContext { mutableRTreeAccessors[i] = mutableComponent.getIndex().createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE, allFields); } else { - mutableRTreeAccessors[i] = mutableComponent.getIndex().createAccessor(NoOpOperationCallback.INSTANCE, - NoOpOperationCallback.INSTANCE); + mutableRTreeAccessors[i] = + mutableComponent.getIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); } - mutableBTreeAccessors[i] = mutableComponent.getBuddyIndex().createAccessor(NoOpOperationCallback.INSTANCE, - NoOpOperationCallback.INSTANCE); + mutableBTreeAccessors[i] = + mutableComponent.getBuddyIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); rtreeOpContexts[i] = mutableRTreeAccessors[i].getOpContext(); btreeOpContexts[i] = mutableBTreeAccessors[i].getOpContext(); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/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 cfb05e7..b59dadd 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 @@ -32,7 +32,7 @@ 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.NoOpOperationCallback; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.lsm.common.api.IComponentFilterHelper; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponent; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponentFilterFrameFactory; @@ -56,13 +56,11 @@ import org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor; import org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor.ICursorFactory; import org.apache.hyracks.storage.am.lsm.common.impls.MergeOperation; import org.apache.hyracks.storage.am.rtree.frames.RTreeFrameFactory; -import org.apache.hyracks.storage.am.rtree.impls.RTree; 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.IIndexAccessParameters; import org.apache.hyracks.storage.common.IIndexCursor; -import org.apache.hyracks.storage.common.IModificationOperationCallback; -import org.apache.hyracks.storage.common.ISearchOperationCallback; import org.apache.hyracks.storage.common.ISearchPredicate; import org.apache.hyracks.storage.common.buffercache.IBufferCache; @@ -94,8 +92,8 @@ public class LSMRTreeWithAntiMatterTuples extends AbstractLSMRTree { // read the file names when we open the tree. // The RTree should be renamed before the BTree. LSMRTreeMemoryComponent flushingComponent = (LSMRTreeMemoryComponent) flushOp.getFlushingComponent(); - RTreeAccessor memRTreeAccessor = flushingComponent.getIndex().createAccessor(NoOpOperationCallback.INSTANCE, - NoOpOperationCallback.INSTANCE); + RTreeAccessor memRTreeAccessor = + flushingComponent.getIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); RTreeSearchCursor rtreeScanCursor = memRTreeAccessor.createSearchCursor(false); SearchPredicate rtreeNullPredicate = new SearchPredicate(null, null); memRTreeAccessor.search(rtreeScanCursor, rtreeNullPredicate); @@ -124,8 +122,8 @@ public class LSMRTreeWithAntiMatterTuples extends AbstractLSMRTree { } // scan the memory BTree - BTreeAccessor memBTreeAccessor = flushingComponent.getBuddyIndex() - .createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + BTreeAccessor memBTreeAccessor = + flushingComponent.getBuddyIndex().createAccessor(NoOpIndexAccessParameters.INSTANCE); BTreeRangeSearchCursor btreeScanCursor = memBTreeAccessor.createSearchCursor(false); RangePredicate btreeNullPredicate = new RangePredicate(null, null, true, true, null, null); memBTreeAccessor.search(btreeScanCursor, btreeNullPredicate); @@ -213,9 +211,8 @@ public class LSMRTreeWithAntiMatterTuples extends AbstractLSMRTree { } @Override - public ILSMIndexAccessor createAccessor(IModificationOperationCallback modificationCallback, - ISearchOperationCallback searchCallback) { - LSMRTreeOpContext opCtx = createOpContext(modificationCallback, searchCallback); + public ILSMIndexAccessor createAccessor(IIndexAccessParameters iap) { + LSMRTreeOpContext opCtx = createOpContext(iap.getModificationCallback(), iap.getSearchOperationCallback()); return new LSMTreeIndexAccessor(getLsmHarness(), opCtx, cursorFactory); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/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 4abab53..2520eac 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 @@ -27,7 +27,7 @@ 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.ITreeIndexAccessor; import org.apache.hyracks.storage.am.common.api.ITreeIndexCursor; -import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponent; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponent.LSMComponentType; import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponentFilter; @@ -108,9 +108,8 @@ public class LSMRTreeWithAntiMatterTuplesSearchCursor extends LSMIndexSearchCurs (IRTreeLeafFrame) lsmInitialState.getRTreeLeafFrameFactory().createFrame()); btreeCursors[i] = new BTreeRangeSearchCursor( (IBTreeLeafFrame) lsmInitialState.getBTreeLeafFrameFactory().createFrame(), false); - btreeAccessors[i] = btree.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); - mutableRTreeAccessors[i] = - rtree.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + btreeAccessors[i] = btree.createAccessor(NoOpIndexAccessParameters.INSTANCE); + mutableRTreeAccessors[i] = rtree.createAccessor(NoOpIndexAccessParameters.INSTANCE); } rangeCursors = new RTreeSearchCursor[numImmutableComponents]; @@ -122,8 +121,7 @@ public class LSMRTreeWithAntiMatterTuplesSearchCursor extends LSMIndexSearchCurs (IRTreeInteriorFrame) lsmInitialState.getRTreeInteriorFrameFactory().createFrame(), (IRTreeLeafFrame) lsmInitialState.getRTreeLeafFrameFactory().createFrame()); RTree rtree = ((LSMRTreeWithAntimatterDiskComponent) component).getIndex(); - immutableRTreeAccessors[j] = - rtree.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + immutableRTreeAccessors[j] = rtree.createAccessor(NoOpIndexAccessParameters.INSTANCE); immutableRTreeAccessors[j].search(rangeCursors[j], searchPred); j++; } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/impls/RTree.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/impls/RTree.java b/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/impls/RTree.java index 750a2fa..1e71b7f 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/impls/RTree.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-rtree/src/main/java/org/apache/hyracks/storage/am/rtree/impls/RTree.java @@ -50,6 +50,7 @@ import org.apache.hyracks.storage.am.rtree.api.IRTreeLeafFrame; import org.apache.hyracks.storage.am.rtree.frames.RTreeNSMFrame; import org.apache.hyracks.storage.am.rtree.frames.RTreeNSMInteriorFrame; import org.apache.hyracks.storage.am.rtree.tuples.RTreeTypeAwareTupleWriter; +import org.apache.hyracks.storage.common.IIndexAccessParameters; import org.apache.hyracks.storage.common.IIndexBulkLoader; import org.apache.hyracks.storage.common.IIndexCursor; import org.apache.hyracks.storage.common.IModificationOperationCallback; @@ -756,9 +757,8 @@ public class RTree extends AbstractTreeIndex { } @Override - public RTreeAccessor createAccessor(IModificationOperationCallback modificationCallback, - ISearchOperationCallback searchCallback) { - return new RTreeAccessor(this, modificationCallback, searchCallback); + public RTreeAccessor createAccessor(IIndexAccessParameters iap) { + return new RTreeAccessor(this, iap.getModificationCallback(), iap.getSearchOperationCallback()); } public RTreeAccessor createAccessor(IModificationOperationCallback modificationCallback, http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndex.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndex.java b/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndex.java index 473cfcb..99a3074 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndex.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndex.java @@ -100,14 +100,12 @@ public interface IIndex { * on the same {@link IIndex}. * * @returns IIndexAccessor an accessor for this {@link IIndex} - * @param modificationCallback - * the callback to be used for modification operations - * @param searchCallback - * the callback to be used for search operations + * @param iap + * an instance of the index access parameter class that contains modification callback, + * search operation callback, etc * @throws HyracksDataException */ - IIndexAccessor createAccessor(IModificationOperationCallback modificationCallback, - ISearchOperationCallback searchCallback) throws HyracksDataException; + IIndexAccessor createAccessor(IIndexAccessParameters iap) throws HyracksDataException; /** * TODO: Get rid of this method http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexAccessParameters.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexAccessParameters.java b/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexAccessParameters.java new file mode 100644 index 0000000..a3745d0 --- /dev/null +++ b/hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/IIndexAccessParameters.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.hyracks.storage.common; + +import java.util.Map; + +/** + * Contains necessary parameters that are required to initialize an index accessor. + */ +public interface IIndexAccessParameters { + + /** + * Gets the modification call back. + */ + IModificationOperationCallback getModificationCallback(); + + /** + * Gets the search operation call back. + */ + ISearchOperationCallback getSearchOperationCallback(); + + /** + * Gets additional parameters. + */ + Map<String, Object> getParameters(); +} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractModificationOperationCallbackTest.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractModificationOperationCallbackTest.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractModificationOperationCallbackTest.java index a9e82cf..1c81f68 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractModificationOperationCallbackTest.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractModificationOperationCallbackTest.java @@ -23,6 +23,7 @@ import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder; 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.common.impls.IndexAccessParameters; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; import org.apache.hyracks.storage.am.config.AccessMethodTestsConfig; import org.apache.hyracks.storage.common.IIndexAccessor; @@ -61,7 +62,8 @@ public abstract class AbstractModificationOperationCallbackTest extends Abstract @Test public void modificationCallbackTest() throws Exception { - IIndexAccessor accessor = index.createAccessor(cb, NoOpOperationCallback.INSTANCE); + IndexAccessParameters actx = new IndexAccessParameters(cb, NoOpOperationCallback.INSTANCE); + IIndexAccessor accessor = index.createAccessor(actx); isFoundNull = true; for (int i = 0; i < AccessMethodTestsConfig.BTREE_NUM_TUPLES_TO_INSERT; i++) { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/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 e30fd04..0323d1b 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 @@ -32,6 +32,8 @@ 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.impls.IndexAccessParameters; +import org.apache.hyracks.storage.am.common.impls.NoOpIndexAccessParameters; import org.apache.hyracks.storage.am.common.impls.NoOpOperationCallback; import org.apache.hyracks.storage.common.IIndexAccessor; import org.apache.hyracks.storage.common.IIndexCursor; @@ -92,7 +94,8 @@ public abstract class AbstractSearchOperationCallbackTest extends AbstractOperat public SearchTask() throws HyracksDataException { this.cb = new SynchronizingSearchOperationCallback(); - this.accessor = index.createAccessor(NoOpOperationCallback.INSTANCE, cb); + IndexAccessParameters actx = new IndexAccessParameters(NoOpOperationCallback.INSTANCE, cb); + this.accessor = index.createAccessor(actx); this.cursor = accessor.createSearchCursor(false); this.predicate = new RangePredicate(); this.builder = new ArrayTupleBuilder(NUM_KEY_FIELDS); @@ -208,7 +211,7 @@ public abstract class AbstractSearchOperationCallbackTest extends AbstractOperat private final ArrayTupleReference tuple; public InsertionTask() throws HyracksDataException { - this.accessor = index.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + this.accessor = index.createAccessor(NoOpIndexAccessParameters.INSTANCE); this.builder = new ArrayTupleBuilder(NUM_KEY_FIELDS); this.tuple = new ArrayTupleReference(); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/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 925cf1e..fbd3950 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 @@ -45,6 +45,7 @@ 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; import org.apache.hyracks.storage.common.IIndexBulkLoader; @@ -100,8 +101,9 @@ public abstract class OrderedIndexExamplesTest { } ArrayTupleBuilder tb = new ArrayTupleBuilder(fieldCount); ArrayTupleReference tuple = new ArrayTupleReference(); - IIndexAccessor indexAccessor = - treeIndex.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IIndexAccessor indexAccessor = treeIndex.createAccessor(actx); int numInserts = 10000; for (int i = 0; i < numInserts; i++) { int f0 = rnd.nextInt() % numInserts; @@ -183,8 +185,9 @@ public abstract class OrderedIndexExamplesTest { ArrayTupleBuilder tb = new ArrayTupleBuilder(fieldCount); ArrayTupleReference tuple = new ArrayTupleReference(); - IIndexAccessor indexAccessor = - treeIndex.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IIndexAccessor indexAccessor = treeIndex.createAccessor(actx); String key = "111"; String data = "XXX"; @@ -264,8 +267,9 @@ public abstract class OrderedIndexExamplesTest { } ArrayTupleBuilder tb = new ArrayTupleBuilder(fieldCount); ArrayTupleReference tuple = new ArrayTupleReference(); - IIndexAccessor indexAccessor = - treeIndex.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IIndexAccessor indexAccessor = treeIndex.createAccessor(actx); int numInserts = 10000; for (int i = 0; i < 10000; i++) { int f0 = rnd.nextInt() % 2000; @@ -350,8 +354,9 @@ public abstract class OrderedIndexExamplesTest { } ArrayTupleBuilder tb = new ArrayTupleBuilder(fieldCount); ArrayTupleReference tuple = new ArrayTupleReference(); - IIndexAccessor indexAccessor = - treeIndex.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IIndexAccessor indexAccessor = treeIndex.createAccessor(actx); // Max string length to be generated. int maxLength = 10; int numInserts = 10000; @@ -433,8 +438,9 @@ public abstract class OrderedIndexExamplesTest { ArrayTupleBuilder tb = new ArrayTupleBuilder(fieldCount); ArrayTupleReference tuple = new ArrayTupleReference(); - IIndexAccessor indexAccessor = - treeIndex.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IIndexAccessor indexAccessor = treeIndex.createAccessor(actx); // Max string length to be generated. int runs = 3; for (int run = 0; run < runs; run++) { @@ -546,8 +552,9 @@ public abstract class OrderedIndexExamplesTest { if (LOGGER.isLoggable(Level.INFO)) { LOGGER.info("Inserting into tree..."); } - IIndexAccessor indexAccessor = - treeIndex.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IIndexAccessor indexAccessor = treeIndex.createAccessor(actx); ArrayTupleBuilder tb = new ArrayTupleBuilder(fieldCount); ArrayTupleReference tuple = new ArrayTupleReference(); int maxLength = 10; @@ -652,8 +659,9 @@ public abstract class OrderedIndexExamplesTest { LOGGER.info(ins + " tuples loaded in " + (end - start) + "ms"); } - IIndexAccessor indexAccessor = - treeIndex.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IIndexAccessor indexAccessor = treeIndex.createAccessor(actx); // Build low key. ArrayTupleBuilder lowKeyTb = new ArrayTupleBuilder(1); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/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 825aa53..0291f41 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 @@ -26,6 +26,7 @@ import org.apache.hyracks.dataflow.common.data.accessors.ITupleReference; import org.apache.hyracks.storage.am.common.TestOperationSelector.TestOperation; import org.apache.hyracks.storage.am.common.datagen.DataGenThread; import org.apache.hyracks.storage.am.common.datagen.TupleBatch; +import org.apache.hyracks.storage.am.common.impls.IndexAccessParameters; import org.apache.hyracks.storage.common.IIndex; import org.apache.hyracks.storage.common.IIndexAccessor; import org.apache.hyracks.storage.common.IIndexCursor; @@ -44,7 +45,9 @@ public abstract class AbstractIndexTestWorker extends Thread implements ITreeInd this.opSelector = opSelector; this.numBatches = numBatches; this.rnd = new Random(); - this.indexAccessor = index.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + this.indexAccessor = index.createAccessor(actx); } @Override http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/IndexTestContext.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/IndexTestContext.java b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/IndexTestContext.java index 3e1c922..6ac02e1 100644 --- a/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/IndexTestContext.java +++ b/hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/IndexTestContext.java @@ -25,6 +25,7 @@ import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder; import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleReference; +import org.apache.hyracks.storage.am.common.impls.IndexAccessParameters; import org.apache.hyracks.storage.common.IIndex; import org.apache.hyracks.storage.common.IIndexAccessor; @@ -40,7 +41,9 @@ public abstract class IndexTestContext<T extends CheckTuple> implements IIndexTe throws HyracksDataException { this.fieldSerdes = fieldSerdes; this.index = index; - this.indexAccessor = index.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + this.indexAccessor = index.createAccessor(actx); this.tupleBuilder = filtered ? new ArrayTupleBuilder(fieldSerdes.length + 1) : new ArrayTupleBuilder(fieldSerdes.length); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/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 5a11557..d6358e3 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 @@ -44,7 +44,8 @@ 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.NoOpOperationCallback; +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; import org.apache.hyracks.storage.am.rtree.frames.RTreePolicyType; import org.apache.hyracks.storage.am.rtree.impls.SearchPredicate; @@ -149,8 +150,7 @@ public abstract class AbstractRTreeExamplesTest { } ArrayTupleBuilder tb = new ArrayTupleBuilder(fieldCount); ArrayTupleReference tuple = new ArrayTupleReference(); - IIndexAccessor indexAccessor = - treeIndex.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + IIndexAccessor indexAccessor = treeIndex.createAccessor(NoOpIndexAccessParameters.INSTANCE); int numInserts = 10000; for (int i = 0; i < numInserts; i++) { int p1x = rnd.nextInt(); @@ -260,8 +260,9 @@ public abstract class AbstractRTreeExamplesTest { ArrayTupleBuilder tb = new ArrayTupleBuilder(fieldCount); ArrayTupleReference tuple = new ArrayTupleReference(); - IIndexAccessor indexAccessor = - treeIndex.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IIndexAccessor indexAccessor = treeIndex.createAccessor(actx); int p1x = rnd.nextInt(); int p1y = rnd.nextInt(); @@ -399,8 +400,9 @@ public abstract class AbstractRTreeExamplesTest { ArrayTupleBuilder tb = new ArrayTupleBuilder(fieldCount); ArrayTupleReference tuple = new ArrayTupleReference(); - IIndexAccessor indexAccessor = - treeIndex.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IIndexAccessor indexAccessor = treeIndex.createAccessor(actx); int p1x = rnd.nextInt(); int p1y = rnd.nextInt(); @@ -552,8 +554,7 @@ public abstract class AbstractRTreeExamplesTest { } ArrayTupleBuilder tb = new ArrayTupleBuilder(fieldCount); ArrayTupleReference tuple = new ArrayTupleReference(); - IIndexAccessor indexAccessor = - treeIndex.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + IIndexAccessor indexAccessor = treeIndex.createAccessor(NoOpIndexAccessParameters.INSTANCE); int numInserts = 10000; for (int i = 0; i < numInserts; i++) { double p1x = rnd.nextDouble(); @@ -658,8 +659,7 @@ public abstract class AbstractRTreeExamplesTest { ArrayTupleBuilder tb = new ArrayTupleBuilder(fieldCount); ArrayTupleReference tuple = new ArrayTupleReference(); - IIndexAccessor indexAccessor = - treeIndex.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + IIndexAccessor indexAccessor = treeIndex.createAccessor(NoOpIndexAccessParameters.INSTANCE); int runs = 3; for (int run = 0; run < runs; run++) { @@ -828,8 +828,7 @@ public abstract class AbstractRTreeExamplesTest { LOGGER.info(numInserts + " tuples loaded in " + (end - start) + "ms"); } - IIndexAccessor indexAccessor = - treeIndex.createAccessor(NoOpOperationCallback.INSTANCE, NoOpOperationCallback.INSTANCE); + IIndexAccessor indexAccessor = treeIndex.createAccessor(NoOpIndexAccessParameters.INSTANCE); // Build key. ArrayTupleBuilder keyTb = new ArrayTupleBuilder(rtreeKeyFieldCount); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/40cff7be/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 78231fd..0a714cf 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 @@ -56,6 +56,7 @@ import org.apache.hyracks.storage.am.common.api.ITreeIndexFrameFactory; import org.apache.hyracks.storage.am.common.api.ITreeIndexMetadataFrameFactory; import org.apache.hyracks.storage.am.common.frames.LIFOMetaDataFrameFactory; import org.apache.hyracks.storage.am.common.freepage.LinkedMetaDataPageManager; +import org.apache.hyracks.storage.am.common.impls.IndexAccessParameters; import org.apache.hyracks.storage.common.MultiComparator; import org.apache.hyracks.storage.common.buffercache.IBufferCache; import org.junit.Assert; @@ -107,8 +108,9 @@ public class BTreeSearchCursorTest extends AbstractBTreeTest { ArrayTupleBuilder tupleBuilder = new ArrayTupleBuilder(fieldCount); ArrayTupleReference tuple = new ArrayTupleReference(); - ITreeIndexAccessor indexAccessor = - btree.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + ITreeIndexAccessor indexAccessor = btree.createAccessor(actx); // generate keys int numKeys = 50; @@ -183,8 +185,9 @@ public class BTreeSearchCursorTest extends AbstractBTreeTest { ArrayTupleBuilder tupleBuilder = new ArrayTupleBuilder(fieldCount); ArrayTupleReference tuple = new ArrayTupleReference(); - ITreeIndexAccessor indexAccessor = - btree.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + ITreeIndexAccessor indexAccessor = btree.createAccessor(actx); // generate keys int numKeys = 50; @@ -256,8 +259,9 @@ public class BTreeSearchCursorTest extends AbstractBTreeTest { ArrayTupleBuilder tupleBuilder = new ArrayTupleBuilder(fieldCount); ArrayTupleReference tuple = new ArrayTupleReference(); - ITreeIndexAccessor indexAccessor = - btree.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + ITreeIndexAccessor indexAccessor = btree.createAccessor(actx); // generate keys int numKeys = 50; @@ -357,8 +361,9 @@ public class BTreeSearchCursorTest extends AbstractBTreeTest { ITreeIndexCursor rangeCursor = new BTreeRangeSearchCursor(leafFrame, false); RangePredicate rangePred = createRangePredicate(lowKey, highKey, lowKeyInclusive, highKeyInclusive); - ITreeIndexAccessor indexAccessor = - btree.createAccessor(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + IndexAccessParameters actx = + new IndexAccessParameters(TestOperationCallback.INSTANCE, TestOperationCallback.INSTANCE); + ITreeIndexAccessor indexAccessor = btree.createAccessor(actx); indexAccessor.search(rangeCursor, rangePred); try {
