Class KeyedStateCheckpointOutputStream

All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

@PublicEvolving public final class KeyedStateCheckpointOutputStream extends NonClosingCheckpointOutputStream<KeyGroupsStateHandle>
Checkpoint output stream that allows to write raw keyed state in a partitioned way, split into key-groups.
  • Field Details

  • Constructor Details

  • Method Details

    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class NonClosingCheckpointOutputStream<KeyGroupsStateHandle>
      Throws:
      IOException
    • getKeyGroupList

      public KeyGroupsList getKeyGroupList()
      Returns a list of all key-groups which can be written to this stream.
    • startNewKeyGroup

      public void startNewKeyGroup(int keyGroupId) throws IOException
      User code can call this method to signal that it begins to write a new key group with the given key group id. This id must be within the KeyGroupsList provided by the stream. Each key-group can only be started once and is considered final/immutable as soon as this method is called again.
      Throws:
      IOException
    • isKeyGroupAlreadyStarted

      public boolean isKeyGroupAlreadyStarted(int keyGroupId)
      Returns true, if the key group with the given id was already started. The key group might not yet be finished, if it's id is equal to the return value of getCurrentKeyGroup().
    • isKeyGroupAlreadyFinished

      public boolean isKeyGroupAlreadyFinished(int keyGroupId)
      Returns true if the key group is already completely written and immutable. It was started and since then another key group has been started.
    • getCurrentKeyGroup

      public int getCurrentKeyGroup()
      Returns the key group that is currently being written. The key group was started but not yet finished, i.e. data can still be added. If no key group was started, this returns NO_CURRENT_KEY_GROUP.