public class CompactingMergeTask extends AbstractPrepareTask<BuildResult>
IndexSegmentfrom the fused view of an index partition as of some historical timestamp and then atomically updates the view (aka a compacting merge).
Note: This task may be used after
order to produce a compact view of the index as of the lastCommitTime
on the old journal.
Note: As its last action, this task submits a
CompactingMergeTask.AtomicUpdateCompactingMergeTask which replaces the view with one
defined by the current
BTree on the journal and the newly built
Note: If the task fails, then the generated
IndexSegment will be
|Modifier and Type||Class and Description|
The source view is pre-overflow (the last writes are on the old journal) while the current view is post-overflow (reflects writes made since overflow).
AbstractTask.DelegateTask<T>, AbstractTask.InnerReadWriteTxServiceCallable<T>, AbstractTask.InnerWriteServiceCallable<T>, AbstractTask.ResubmitException
|Modifier and Type||Field and Description|
DEBUG, INFO, log, resourceManager
checkpointNanoTime, concurrencyManager, isReadWriteTx, nanoTime_assignedWorker, nanoTime_beginWork, nanoTime_finishedWork, nanoTime_submitTask, readOnly, taskCounters, timestamp, transactionManager, tx
|Constructor and Description|
|Modifier and Type||Method and Description|
Method is responsible for clearing the
Figure out if this data service is considered to be highly utilized, in which case the DS should shed some index partitions.
assertResource, assertRunning, assertUnisolated, call, clearLoggingContext, dropIndex, getCommitTime, getIndex, getJournal, getOnlyResource, getResource, getResourceManager, getTaskCounters, getTaskName, getTimestamp, isResource, registerIndex, setupLoggingContext, toString
public CompactingMergeTask(com.bigdata.resources.ViewMetadata vmd)
ViewMetadatafor the index partition.
protected void clearRefs()
SoftReferences held by
ViewMetadatafor the source view(s) on the old journal.
Note: This method MUST be invoked in order to permit those references to be cleared more eagerly than the end of the entire asynchronous overflow operation (which is when the task references would themselves go out of scope and become available for GC).
protected BuildResult doTask() throws Exception
IndexSegmentfrom the compacting merge of an index partition.
Exception- The exception that will be thrown by
AbstractTask.call()iff the operation fails.
InterruptedException- This exception SHOULD be thrown if
Thread.interrupted()becomes true during execution.
protected boolean shouldMove(ILoadBalancerService loadBalancerService)
Note: We consult the load balancer service on this since it is able to put the load of this service into perspective by also considering the load on the other services in the federation.
loadBalancerService- The load balancer.
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.