public class JoinIndexPartitionTask extends AbstractPrepareTask<JoinResult>
DataService
.
The task reads from the lastCommitTime of the old journal and builds a single
BTree
from the merged read of the source index partitions as of that
timestamp and returns a JoinResult
. The task automatically submits,
and awaits the completion of, an JoinIndexPartitionTask.AtomicUpdateJoinIndexPartition
,
which performs the atomic update of the view definitions on the live journal
and the MetadataIndex
.
Modifier and Type | Class and Description |
---|---|
protected static class |
JoinIndexPartitionTask.AtomicUpdateJoinIndexPartition
Task performs an atomic update of the index partition view definitions on
the live journal and the
MetadataIndex , thereby putting into
effect the changes made by a JoinIndexPartitionTask . |
AbstractTask.DelegateTask<T>, AbstractTask.InnerReadWriteTxServiceCallable<T>, AbstractTask.InnerWriteServiceCallable<T>, AbstractTask.ResubmitException
Modifier and Type | Field and Description |
---|---|
protected com.bigdata.resources.ViewMetadata[] |
vmd |
DEBUG, INFO, log, resourceManager
checkpointNanoTime, concurrencyManager, isReadWriteTx, nanoTime_assignedWorker, nanoTime_beginWork, nanoTime_finishedWork, nanoTime_submitTask, readOnly, taskCounters, timestamp, transactionManager, tx
Modifier | Constructor and Description |
---|---|
protected |
JoinIndexPartitionTask(ResourceManager resourceManager,
long lastCommitTime,
String[] resources,
com.bigdata.resources.ViewMetadata[] vmd) |
Modifier and Type | Method and Description |
---|---|
protected void |
clearRefs()
Method is responsible for clearing the
SoftReference s held by
ViewMetadata for the source view(s) on the old journal. |
protected JoinResult |
doTask()
FIXME Improve error handling for this task.
|
toString
assertResource, assertRunning, assertUnisolated, call, clearLoggingContext, dropIndex, getCommitTime, getIndex, getJournal, getOnlyResource, getResource, getResourceManager, getTaskCounters, getTaskName, getTimestamp, isResource, registerIndex, setupLoggingContext, toString
protected JoinIndexPartitionTask(ResourceManager resourceManager, long lastCommitTime, String[] resources, com.bigdata.resources.ViewMetadata[] vmd)
resourceManager
- lastCommitTime
- resource
- The names of the index partitions to be joined. These names
MUST be given in natural ordering of the left separator keys
for those index partitions.protected void clearRefs()
AbstractPrepareTask
SoftReference
s held by
ViewMetadata
for 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).
clearRefs
in class AbstractPrepareTask<JoinResult>
protected JoinResult doTask() throws Exception
doTask
in class AbstractTask<JoinResult>
AbstractTask.call()
iff the
operation succeeds.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.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.