public class TopoCache extends Object
Cache topologies and topology confs from the blob store. Makes reading this faster because it can skip deserialization in many cases.
Modifier and Type | Field and Description |
---|---|
static org.slf4j.Logger |
LOG |
Constructor and Description |
---|
TopoCache(BlobStore store,
Map<String,Object> conf) |
Modifier and Type | Method and Description |
---|---|
void |
addTopoConf(String topoId,
Subject who,
Map<String,Object> topoConf)
Add a new topology config.
|
void |
addTopology(String topoId,
Subject who,
StormTopology topo)
Add a new topology.
|
void |
clear()
Clear all entries from the Cache.
|
void |
deleteTopoConf(String topoId,
Subject who)
Delete a topology conf when we are done.
|
void |
deleteTopology(String topoId,
Subject who)
Delete a topology when we are done.
|
Map<String,Object> |
readTopoConf(String topoId,
Subject who)
Read a topology conf.
|
StormTopology |
readTopology(String topoId,
Subject who)
Read a topology.
|
void |
updateTopoConf(String topoId,
Subject who,
Map<String,Object> topoConf)
Update an existing topology conf.
|
void |
updateTopology(String topoId,
Subject who,
StormTopology topo)
Update an existing topology .
|
public StormTopology readTopology(String topoId, Subject who) throws KeyNotFoundException, AuthorizationException, IOException
Read a topology.
topoId
- the id of the topology to readwho
- who to read it asIOException
- on any error while reading the blob.AuthorizationException
- if who is not allowed to read the blobKeyNotFoundException
- if the blob could not be foundpublic void deleteTopology(String topoId, Subject who) throws AuthorizationException, KeyNotFoundException
Delete a topology when we are done.
topoId
- the id of the topologywho
- who is deleting itAuthorizationException
- if who is not allowed to delete the blobKeyNotFoundException
- if the blob could not be foundpublic void addTopology(String topoId, Subject who, StormTopology topo) throws AuthorizationException, KeyAlreadyExistsException, IOException
Add a new topology.
topoId
- the id of the topologywho
- who is doing ittopo
- the topology itselfAuthorizationException
- if who is not allowed to add a topologyKeyAlreadyExistsException
- if the topology already existsIOException
- on any error interacting with the blob storepublic void updateTopology(String topoId, Subject who, StormTopology topo) throws AuthorizationException, KeyNotFoundException, IOException
Update an existing topology .
topoId
- the id of the topologywho
- who is doing ittopo
- the new topology to saveAuthorizationException
- if who is not allowed to update a topologyKeyNotFoundException
- if the topology is not found in the blob storeIOException
- on any error interacting with the blob storepublic Map<String,Object> readTopoConf(String topoId, Subject who) throws KeyNotFoundException, AuthorizationException, IOException
Read a topology conf.
topoId
- the id of the topology to read the conf forwho
- who to read it asIOException
- on any error while reading the blob.AuthorizationException
- if who is not allowed to read the blobKeyNotFoundException
- if the blob could not be foundpublic void deleteTopoConf(String topoId, Subject who) throws AuthorizationException, KeyNotFoundException
Delete a topology conf when we are done.
topoId
- the id of the topologywho
- who is deleting itAuthorizationException
- if who is not allowed to delete the topo confKeyNotFoundException
- if the topo conf is not found in the blob storepublic void addTopoConf(String topoId, Subject who, Map<String,Object> topoConf) throws AuthorizationException, KeyAlreadyExistsException, IOException
Add a new topology config.
topoId
- the id of the topologywho
- who is doing ittopoConf
- the topology conf itselfAuthorizationException
- if who is not allowed to add a topology confKeyAlreadyExistsException
- if the toplogy conf already exists in the blob storeIOException
- on any error interacting with the blob store.public void updateTopoConf(String topoId, Subject who, Map<String,Object> topoConf) throws AuthorizationException, KeyNotFoundException, IOException
Update an existing topology conf.
topoId
- the id of the topologywho
- who is doing ittopoConf
- the new topology conf to saveAuthorizationException
- if who is not allowed to update the topology confKeyNotFoundException
- if the topology conf is not found in the blob storeIOException
- on any error interacting with the blob store.public void clear()
Clear all entries from the Cache. This typically happens right after becoming a leader, just to be sure nothing has changed while we were not the leader.
Copyright © 2019 The Apache Software Foundation. All rights reserved.