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.
AbstractTask.DelegateTask<T>, AbstractTask.InnerReadWriteTxServiceCallable<T>, AbstractTask.InnerWriteServiceCallable<T>, AbstractTask.ResubmitException| Modifier and Type | Field and Description |
|---|---|
protected BuildResult |
buildResult |
protected UUID |
indexUUID
The expected UUID of the scale-out index.
|
DEBUG, INFO, log, resourceManagercheckpointNanoTime, concurrencyManager, isReadWriteTx, nanoTime_assignedWorker, nanoTime_beginWork, nanoTime_finishedWork, nanoTime_submitTask, readOnly, taskCounters, timestamp, transactionManager, tx| Constructor and Description |
|---|
CompactingMergeTask.AtomicUpdateCompactingMergeTask(ResourceManager resourceManager,
IConcurrencyManager concurrencyManager,
String resource,
UUID indexUUID,
BuildResult buildResult,
Event updateEvent) |
| Modifier and Type | Method and Description |
|---|---|
protected Void |
doTask()
Atomic update.
|
assertSameIndextoStringassertResource, assertRunning, assertUnisolated, call, clearLoggingContext, dropIndex, getCommitTime, getIndex, getJournal, getOnlyResource, getResource, getResourceManager, getTaskCounters, getTaskName, getTimestamp, isResource, registerIndex, setupLoggingContext, toStringprotected final UUID indexUUID
protected final BuildResult buildResult
public CompactingMergeTask.AtomicUpdateCompactingMergeTask(ResourceManager resourceManager, IConcurrencyManager concurrencyManager, String resource, UUID indexUUID, BuildResult buildResult, Event updateEvent)
resourceManager - concurrencyManager - resource - buildResult - protected Void doTask() throws Exception
Atomic update.
doTask in class AbstractTask<Void>nullException - 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.