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 inCheckpointSpout
. 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 class
CheckPointState.Action
static class
CheckPointState.State
-
Constructor Summary
Constructors Constructor Description CheckPointState()
CheckPointState(long txid, CheckPointState.State state)
-
Method Summary
All Methods Instance Methods Concrete Methods 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()
-
-
-
Constructor Detail
-
CheckPointState
public CheckPointState(long txid, CheckPointState.State state)
-
CheckPointState
public CheckPointState()
-
-
Method Detail
-
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
-
-