org.apache.storm.assignments

## Interface ILocalAssignmentsBackend

- All Superinterfaces:
    AutoCloseable
  All Known Implementing Classes:
    InMemoryAssignmentBackend

      public interface ILocalAssignmentsBackend
      extends AutoCloseable

  Interface for storing local assignments.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `List<String>` | `assignments()` List all the storm runtime ids of local assignments.
    `Map<String,Assignment>` | `assignmentsInfo()` Get all the local assignments of local state.
    `void` | `clearStateForStorm(String stormId)` Clear all the state for a storm.
    `void` | `close()` Function to release resource.
    `void` | `deleteStormId(String stormName)` Delete a local cache of stormId which is mapped to a specific storm name.
    `Assignment` | `getAssignment(String stormId)` Get assignment as `Assignment` for a storm.
    `String` | `getStormId(String stormName)` Get storm runtime id from local.
    `boolean` | `isSynchronized()` Decide if the assignments is synchronized from remote state-store.
    `void` | `keepOrUpdateAssignment(String stormId, Assignment assignment)` Keep a storm assignment to local state or update old assignment.
    `void` | `keepStormId(String stormName, String stormId)` Keep a mapping storm-name -> storm-id to local state.
    `void` | `prepare(Map conf)` Initial function for creating backend.
    `void` | `removeAssignment(String stormId)`
    `void` | `setSynchronized()` Mark this backend as synchronized when sync work is done.
    `void` | `syncRemoteAssignments(Map<String,byte[]> remote)` Sync remote assignments to local, if remote is null, we will sync it from zk.
    `void` | `syncRemoteIds(Map<String,String> remote)` Sync remote storm ids to local, will just used for nimbus.

- - ### 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`

Copyright © 2021 The Apache Software Foundation. All rights reserved.