public class InMemoryAssignmentBackend extends Object implements ILocalAssignmentsBackend
An assignment backend which will keep all assignments and id-info in memory. Only used if no backend is specified internal.
About thread safe: idToAssignment,idToName,nameToId are all memory cache in nimbus local, for
ConcurrentHashMap is ok.| Constructor and Description |
|---|
InMemoryAssignmentBackend() |
| 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.
|
public boolean isSynchronized()
ILocalAssignmentsBackendDecide if the assignments is synchronized from remote state-store.
isSynchronized in interface ILocalAssignmentsBackendpublic void setSynchronized()
ILocalAssignmentsBackendMark this backend as synchronized when sync work is done.
setSynchronized in interface ILocalAssignmentsBackendpublic void prepare(Map conf)
ILocalAssignmentsBackendInitial function for creating backend.
prepare in interface ILocalAssignmentsBackendconf - configpublic void keepOrUpdateAssignment(String stormId, Assignment assignment)
ILocalAssignmentsBackendKeep a storm assignment to local state or update old assignment.
keepOrUpdateAssignment in interface ILocalAssignmentsBackendstormId - storm runtime idassignment - assignment as thriftpublic Assignment getAssignment(String stormId)
ILocalAssignmentsBackendGet assignment as Assignment for a storm.
getAssignment in interface ILocalAssignmentsBackendstormId - storm runtime idpublic void removeAssignment(String stormId)
removeAssignment in interface ILocalAssignmentsBackendpublic List<String> assignments()
ILocalAssignmentsBackendList all the storm runtime ids of local assignments.
assignments in interface ILocalAssignmentsBackendpublic Map<String,Assignment> assignmentsInfo()
ILocalAssignmentsBackendGet all the local assignments of local state.
assignmentsInfo in interface ILocalAssignmentsBackendpublic void syncRemoteAssignments(Map<String,byte[]> remote)
ILocalAssignmentsBackendSync remote assignments to local, if remote is null, we will sync it from zk.
syncRemoteAssignments in interface ILocalAssignmentsBackendremote - specific remote assignments, if it is null, it will sync from zookeeper[only used for nimbus]public void keepStormId(String stormName, String stormId)
ILocalAssignmentsBackendKeep a mapping storm-name -> storm-id to local state.
keepStormId in interface ILocalAssignmentsBackendstormName - storm namestormId - storm runtime idpublic String getStormId(String stormName)
ILocalAssignmentsBackendGet storm runtime id from local.
getStormId in interface ILocalAssignmentsBackendstormName - name of a stormpublic void syncRemoteIds(Map<String,String> remote)
ILocalAssignmentsBackendSync remote storm ids to local, will just used for nimbus.
syncRemoteIds in interface ILocalAssignmentsBackendremote - remote ids from state storepublic void deleteStormId(String stormName)
ILocalAssignmentsBackendDelete a local cache of stormId which is mapped to a specific storm name.
deleteStormId in interface ILocalAssignmentsBackendstormName - storm namepublic void clearStateForStorm(String stormId)
ILocalAssignmentsBackendClear all the state for a storm.
clearStateForStorm in interface ILocalAssignmentsBackendstormId - storm idpublic void close()
ILocalAssignmentsBackendFunction to release resource.
close in interface AutoCloseableclose in interface ILocalAssignmentsBackendCopyright © 2021 The Apache Software Foundation. All rights reserved.