@Override public void logPerformanceCounters(int tupleCount) { if (isTracingEnabled()) { tracer.instant("store-counters", traceCategory, Scope.t, "{\"count\":" + tupleCount + ",\"enter-exit-duration-ns\":" + enterExitTime + "}"); resetCounters(); } }
@Override public void setOperation(IndexOperation newOp) throws HyracksDataException { reset(); op = newOp; }
mergeCtx.setOperation(ctx.getOperation()); mergeCtx.getComponentHolder().addAll(mergingComponents); propagateMap(ctx, mergeCtx); mergingComponents.stream().forEach(mergeCtx.getComponentsToBeMerged()::add); ILSMDiskComponent lastComponent = mergingComponents.get(0); ILSMDiskComponent firstComponent = mergingComponents.get(mergingComponents.size() - 1); ILSMIOOperation mergeOp = TracedIOOperation.wrap(createMergeOperation(mergeCtx, mergeFileRefs, ioOpCallback), tracer); mergeCtx.setIoOperation(mergeOp); for (int i = 0; i < mergingComponents.size(); i++) { mergingComponents.get(i).schedule(LSMIOOperationType.MERGE);
@Override protected ILSMIOOperation createMergeOperation(AbstractLSMIndexOperationContext opCtx, LSMComponentFileReferences mergeFileRefs, ILSMIOOperationCallback callback) { boolean returnDeletedTuples = false; ILSMIndexAccessor accessor = createAccessor(opCtx); List<ILSMComponent> mergingComponents = opCtx.getComponentHolder(); if (mergingComponents.get(mergingComponents.size() - 1) != diskComponents.get(diskComponents.size() - 1)) { returnDeletedTuples = true; } LSMBTreeRangeSearchCursor cursor = new LSMBTreeRangeSearchCursor(opCtx, returnDeletedTuples); return new LSMBTreeMergeOperation(accessor, cursor, mergeFileRefs.getInsertIndexFileReference(), mergeFileRefs.getBloomFilterFileReference(), callback, getIndexIdentifier()); } }
public IIndexBulkLoader createBulkLoader(float fillLevel, boolean verifyInput, long numElementsHint, Map<String, Object> parameters) throws HyracksDataException { AbstractLSMIndexOperationContext opCtx = createOpContext(NoOpIndexAccessParameters.INSTANCE); opCtx.setParameters(parameters); LSMComponentFileReferences componentFileRefs = fileManager.getRelFlushFileReference(); LoadOperation loadOp = new LoadOperation(componentFileRefs, ioOpCallback, getIndexIdentifier(), parameters); loadOp.setNewComponent(createDiskComponent(bulkLoadComponentFactory, componentFileRefs.getInsertIndexFileReference(), componentFileRefs.getDeleteIndexFileReference(), componentFileRefs.getBloomFilterFileReference(), true)); ioOpCallback.scheduled(loadOp); opCtx.setIoOperation(loadOp); return new LSMIndexDiskComponentBulkLoader(this, opCtx, fillLevel, verifyInput, numElementsHint); }
@Override protected ILSMIOOperation createMergeOperation(AbstractLSMIndexOperationContext opCtx, LSMComponentFileReferences mergeFileRefs, ILSMIOOperationCallback callback) throws HyracksDataException { boolean returnDeletedTuples = false; List<ILSMComponent> mergingComponents = opCtx.getComponentHolder(); if (mergingComponents.get(mergingComponents.size() - 1) != diskComponents.get(diskComponents.size() - 1)) { returnDeletedTuples = true; } LSMRTreeWithAntiMatterTuplesSearchCursor cursor = new LSMRTreeWithAntiMatterTuplesSearchCursor(opCtx, returnDeletedTuples); ILSMIndexAccessor accessor = new LSMTreeIndexAccessor(getHarness(), opCtx, cursorFactory); return new LSMRTreeMergeOperation(accessor, cursor, mergeFileRefs.getInsertIndexFileReference(), null, null, callback, getIndexIdentifier()); } }