com.bigdata.resources
Class CompactingMergeTask.AtomicUpdateCompactingMergeTask
java.lang.Object
com.bigdata.journal.AbstractTask<T>
com.bigdata.resources.AbstractResourceManagerTask<T>
com.bigdata.resources.AbstractAtomicUpdateTask<Void>
com.bigdata.resources.CompactingMergeTask.AtomicUpdateCompactingMergeTask
- All Implemented Interfaces:
- ITask<Void>, Callable<Void>
- Enclosing class:
- CompactingMergeTask
protected static class CompactingMergeTask.AtomicUpdateCompactingMergeTask
- extends AbstractAtomicUpdateTask<Void>
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). What we are doing is replacing the pre-overflow history with
an IndexSegment.
journal A
view={A}
---- sync overflow begins ----
create journal B
view={B,A}
Begin build segment from view={A} (identified by the lastCommitTime)
---- sync overflow ends ----
... build continues ...
... writes against view={B,A}
... index segment S0 complete (based on view={A}).
...
atomic build update task runs: view={B,S0}
... writes continue.
- Version:
- $Id: CompactingMergeTask.java 3343 2010-07-29 14:55:40Z thompsonbry $
- Author:
- Bryan Thompson
| Fields inherited from class com.bigdata.journal.AbstractTask |
checkpointNanoTime, concurrencyManager, isReadWriteTx, nanoTime_assignedWorker, nanoTime_beginWork, nanoTime_finishedWork, nanoTime_submitTask, readOnly, taskCounters, timestamp, transactionManager, tx |
|
Method Summary |
protected Void |
doTask()
Atomic update. |
| Methods inherited from class com.bigdata.journal.AbstractTask |
assertResource, assertRunning, assertUnisolated, call, clearLoggingContext, dropIndex, getCommitTime, getIndex, getJournal, getOnlyResource, getResource, getResourceManager, getTaskCounters, getTaskName, getTimestamp, isResource, registerIndex, setupLoggingContext, toString |
indexUUID
protected final UUID indexUUID
- The expected UUID of the scale-out index.
buildResult
protected final BuildResult buildResult
CompactingMergeTask.AtomicUpdateCompactingMergeTask
public CompactingMergeTask.AtomicUpdateCompactingMergeTask(ResourceManager resourceManager,
IConcurrencyManager concurrencyManager,
String resource,
UUID indexUUID,
BuildResult buildResult,
Event updateEvent)
- Parameters:
resourceManager - concurrencyManager - resource - buildResult -
doTask
protected Void doTask()
throws Exception
Atomic update.
- Specified by:
doTask in class AbstractTask<Void>
- Returns:
null
- Throws:
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-2011 SYSTAP, LLC. All Rights Reserved.