Interface ILocalAssignmentsBackend

All Superinterfaces:
AutoCloseable
All Known Implementing Classes:
InMemoryAssignmentBackend

public interface ILocalAssignmentsBackend extends AutoCloseable
Interface for storing local assignments.
  • Method Details

    • isSynchronized

      boolean isSynchronized()
      Decide if the assignments is synchronized from remote state-store.
    • setSynchronized

      void setSynchronized()
      Mark this backend as synchronized when sync work is done.
    • prepare

      void prepare(Map conf)
      Initial function for creating backend.
      Parameters:
      conf - config
    • keepOrUpdateAssignment

      void keepOrUpdateAssignment(String stormId, Assignment assignment)
      Keep a storm assignment to local state or update old assignment.
      Parameters:
      stormId - storm runtime id
      assignment - assignment as thrift
    • getAssignment

      Assignment getAssignment(String stormId)
      Get assignment as Assignment for a storm.
      Parameters:
      stormId - storm runtime id
      Returns:
      assignment
    • removeAssignment

      void removeAssignment(String stormId)
    • assignments

      List<String> assignments()
      List all the storm runtime ids of local assignments.
      Returns:
      a list of storm ids
    • assignmentsInfo

      Map<String,Assignment> assignmentsInfo()
      Get all the local assignments of local state.
      Returns:
      mapping of storm-id -> assignment
    • syncRemoteAssignments

      void syncRemoteAssignments(Map<String,byte[]> remote)
      Sync remote assignments to local, if remote is null, we will sync it from zk.
      Parameters:
      remote - specific remote assignments, if it is null, it will sync from zookeeper[only used for nimbus]
    • keepStormId

      void keepStormId(String stormName, String stormId)
      Keep a mapping storm-name -> storm-id to local state.
      Parameters:
      stormName - storm name
      stormId - storm runtime id
    • getStormId

      String getStormId(String stormName)
      Get storm runtime id from local.
      Parameters:
      stormName - name of a storm
      Returns:
      runtime storm id
    • syncRemoteIds

      void syncRemoteIds(Map<String,String> remote)
      Sync remote storm ids to local, will just used for nimbus.
      Parameters:
      remote - remote ids from state store
    • deleteStormId

      void deleteStormId(String stormName)
      Delete a local cache of stormId which is mapped to a specific storm name.
      Parameters:
      stormName - storm name
    • clearStateForStorm

      void clearStateForStorm(String stormId)
      Clear all the state for a storm.
      Parameters:
      stormId - storm id
    • close

      void close()
      Function to release resource.
      Specified by:
      close in interface AutoCloseable