Class 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.

    • Constructor Detail

      • CheckPointState

        public CheckPointState()
    • Method Detail

      • getTxid

        public long getTxid()
      • 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
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object