Interface ILocalAssignmentsBackend

    • Method Detail

      • 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