Package org.apache.storm.spout

# Class CheckPointState

java.lang.Object
org.apache.storm.spout.CheckPointState

public class CheckPointState extends Object
Captures the current state of the transaction in `CheckpointSpout`. The state transitions are as follows.

                      ROLLBACK(tx2)
                   <-------------                  PREPARE(tx2)                     COMMIT(tx2)
     COMMITTED(tx1)-------------> PREPARING(tx2) --------------> COMMITTING(tx2) -----------------> COMMITTED (tx2)

During recovery, if a previous transaction is in PREPARING state, it is rolled back since all bolts in the topology might not have prepared (saved) the data for commit. If the previous transaction is in COMMITTING state, it is rolled forward (committed) since some bolts might have already committed the data.

During normal flow, the state transitions from PREPARING to COMMITTING to COMMITTED. In case of failures the prepare/commit operation is retried.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `CheckPointState.Action`
  `static enum`
  `CheckPointState.State`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CheckPointState()`
  `CheckPointState(long txid, CheckPointState.State state)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object o)`
  `CheckPointState.State`
  `getState()`
  `long`
  `getTxid()`
  `int`
  `hashCode()`
  `CheckPointState.Action`
  `nextAction(boolean recovering)`
  Get the next action to perform based on this checkpoint state.
  `CheckPointState`
  `nextState(boolean recovering)`
  Get the next state based on this checkpoint state.
  `String`
  `toString()`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### CheckPointState

    public CheckPointState(long txid, CheckPointState.State state)

  - ### CheckPointState

    public CheckPointState()

- ## Method Details

  - ### getTxid

    public long getTxid()

  - ### getState

    public CheckPointState.State getState()

  - ### nextState

    public CheckPointState nextState(boolean recovering)
    Get the next state based on this checkpoint state.
    Parameters:
      `recovering` - if in recovering phase
    Returns:
      the next checkpoint state based on this state.

  - ### nextAction

    public CheckPointState.Action nextAction(boolean recovering)
    Get the next action to perform based on this checkpoint state.
    Parameters:
      `recovering` - if in recovering phase
    Returns:
      the next action to perform based on this state

  - ### equals

    public boolean equals(Object o)
    Overrides:
      `equals` in class `Object`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`