com.bigdata.resources
Enum OverflowActionEnum

java.lang.Object
  extended by java.lang.Enum<OverflowActionEnum>
      extended by com.bigdata.resources.OverflowActionEnum
All Implemented Interfaces:
Serializable, Comparable<OverflowActionEnum>

public enum OverflowActionEnum
extends Enum<OverflowActionEnum>

The different actions that we can take to handle an index partition during overflow processing.

Version:
$Id: OverflowActionEnum.java 2783 2010-05-07 13:14:20Z thompsonbry $
Author:
Bryan Thompson
See Also:
OverflowSubtaskEnum

Enum Constant Summary
Build
          Copy the tuples from the last commit point on the old journal into an index segment, and may incorporate tuples from zero or more additional sources in the view.
Copy
          Copy all tuples on the old journal to the new journal during synchronous overflow processing.
Join
          Join left- and right- index partition siblings which have underflowed.
Merge
          Compacting merge of the sources for the index partition into a single index segment.
Move
          Move the index partition to another data service.
ScatterSplit
          Split the first index partition for a new scale-out index into N siblings and distribute those siblings across the federation in order to improve the data distribution and improve the potential concurrency of the index.
Split
          Split an index partition that has overflowed into 2 or more siblings.
TailSplit
          Split an index partition receiving a lot of writes on the tail of the key range into 2 siblings where the left-sibling has most of the key range and the right-sibling has the tail of the key range.
 
Method Summary
static OverflowActionEnum valueOf(String name)
          Returns the enum constant of this type with the specified name.
static OverflowActionEnum[] values()
          Returns an array containing the constants of this enum type, in the order they are declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

Copy

public static final OverflowActionEnum Copy
Copy all tuples on the old journal to the new journal during synchronous overflow processing.


Build

public static final OverflowActionEnum Build
Copy the tuples from the last commit point on the old journal into an index segment, and may incorporate tuples from zero or more additional sources in the view. Builds are done both in order to improve read performance and to release dependencies on older journals.

The #of sources to use in a build is chosen in order to keep the build operation fast while also minimizing the #of sources that are accumulated in the view over time and thereby reducing the frequency with which a compacting merge must be performed.

If all sources in the view are used, then a build has the same semantics as a Merge, but it is still reported as a build since actions selected as builds tend to be lighter weight even when all sources are still used (for example, consider the first overflow event, where there is only one source in the view - while that could be called a merge, the practice is to call it a build).


Merge

public static final OverflowActionEnum Merge
Compacting merge of the sources for the index partition into a single index segment. Compacting merges are done to improve read performance and to keep index partition views from including too many distinct index segment sources.


Move

public static final OverflowActionEnum Move
Move the index partition to another data service. Note that moves may be initiated either to redistribute the load more equitably among the data services in the federation or to bring the left/right sibling of an index partition onto the same data service as its right/left sibling so that they may be joined.


Join

public static final OverflowActionEnum Join
Join left- and right- index partition siblings which have underflowed.


Split

public static final OverflowActionEnum Split
Split an index partition that has overflowed into 2 or more siblings.


ScatterSplit

public static final OverflowActionEnum ScatterSplit
Split the first index partition for a new scale-out index into N siblings and distribute those siblings across the federation in order to improve the data distribution and improve the potential concurrency of the index.


TailSplit

public static final OverflowActionEnum TailSplit
Split an index partition receiving a lot of writes on the tail of the key range into 2 siblings where the left-sibling has most of the key range and the right-sibling has the tail of the key range.

Method Detail

values

public static OverflowActionEnum[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (OverflowActionEnum c : OverflowActionEnum.values())
    System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared

valueOf

public static OverflowActionEnum valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
IllegalArgumentException - if this enum type has no constant with the specified name
NullPointerException - if the argument is null


Copyright © 2006-2011 SYSTAP, LLC. All Rights Reserved.