com.bigdata.resources
Class SplitIndexPartitionTask.AtomicUpdateSplitIndexPartitionTask

java.lang.Object
  extended by com.bigdata.journal.AbstractTask<T>
      extended by com.bigdata.resources.AbstractResourceManagerTask<T>
          extended by com.bigdata.resources.AbstractAtomicUpdateTask<Void>
              extended by com.bigdata.resources.SplitIndexPartitionTask.AtomicUpdateSplitIndexPartitionTask
All Implemented Interfaces:
ITask<Void>, Callable<Void>
Enclosing class:
SplitIndexPartitionTask

protected static class SplitIndexPartitionTask.AtomicUpdateSplitIndexPartitionTask
extends AbstractAtomicUpdateTask<Void>

An ITx.UNISOLATED operation that splits the live index using the same Split points, generating new index partitions with new partition identifiers. The old index partition is deleted as a post-condition. The new index partitions are registered as a post-condition. Any data that was accumulated in the live index on the live journal is copied into the appropriate new BTree for the new index partition on the live journal.

Version:
$Id: SplitIndexPartitionTask.java 3343 2010-07-29 14:55:40Z thompsonbry $
Author:
Bryan Thompson

Nested Class Summary
 
Nested classes/interfaces inherited from class com.bigdata.journal.AbstractTask
AbstractTask.DelegateTask<T>, AbstractTask.InnerReadWriteTxServiceCallable, AbstractTask.InnerWriteServiceCallable<T>, AbstractTask.ResubmitException
 
Field Summary
protected  OverflowActionEnum action
          Either a normal split or a tail split.
protected  UUID indexUUID
          The expected UUID of the scale-out index.
protected  SplitResult splitResult
           
 
Fields inherited from class com.bigdata.resources.AbstractResourceManagerTask
DEBUG, INFO, log, resourceManager
 
Fields inherited from class com.bigdata.journal.AbstractTask
checkpointNanoTime, concurrencyManager, isReadWriteTx, nanoTime_assignedWorker, nanoTime_beginWork, nanoTime_finishedWork, nanoTime_submitTask, readOnly, taskCounters, timestamp, transactionManager, tx
 
Constructor Summary
SplitIndexPartitionTask.AtomicUpdateSplitIndexPartitionTask(ResourceManager resourceManager, String[] resource, OverflowActionEnum action, UUID indexUUID, SplitResult splitResult, Event updateEvent)
           
 
Method Summary
protected  Void doTask()
          Atomic update.
 
Methods inherited from class com.bigdata.resources.AbstractAtomicUpdateTask
assertSameIndex
 
Methods inherited from class com.bigdata.resources.AbstractResourceManagerTask
toString
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

indexUUID

protected final UUID indexUUID
The expected UUID of the scale-out index.


action

protected final OverflowActionEnum action
Either a normal split or a tail split.


splitResult

protected final SplitResult splitResult
Constructor Detail

SplitIndexPartitionTask.AtomicUpdateSplitIndexPartitionTask

public SplitIndexPartitionTask.AtomicUpdateSplitIndexPartitionTask(ResourceManager resourceManager,
                                                                   String[] resource,
                                                                   OverflowActionEnum action,
                                                                   UUID indexUUID,
                                                                   SplitResult splitResult,
                                                                   Event updateEvent)
Parameters:
resourceManager -
resource -
action -
indexUUID - The UUID of the scale-out index.
splitResult -
Method Detail

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.