NodeIDType
- public interface ReconfiguratorDB<NodeIDType>
Modifier and Type | Method and Description |
---|---|
boolean |
addActiveReplica(NodeIDType node,
java.net.InetSocketAddress sockAddr,
int version) |
boolean |
addReconfigurator(NodeIDType node,
java.net.InetSocketAddress sockAddr,
int version) |
void |
clearMerged(java.lang.String name,
int epoch)
Clear all merged state in RC record.
|
void |
close()
Close gracefully.
|
boolean |
closeReadActiveRecords() |
ReconfigurationRecord<NodeIDType> |
createReconfigurationRecord(ReconfigurationRecord<NodeIDType> record) |
boolean |
createReconfigurationRecords(java.util.Map<java.lang.String,java.lang.String> nameStates,
java.util.Set<NodeIDType> newActives,
ReconfigurationConfig.ReconfigureUponActivesChange reconfigureUponActivesChange) |
void |
delayedDeleteComplete() |
boolean |
deleteReconfigurationRecord(java.lang.String name,
int epoch) |
java.lang.String |
fetchAndAggregateMergeeStates(java.util.Map<java.lang.String,java.lang.String> finalStates,
java.lang.String mergerGroup,
int epoch) |
void |
garbageCollectedDeletedNode(NodeIDType node) |
boolean |
garbageCollectOldReconfigurators(int version) |
java.lang.String |
getDemandStats(java.lang.String name) |
java.lang.String[] |
getPendingReconfigurations()
Names for which reconfiguration is incomplete, needed for recovery
|
java.util.Set<java.lang.String> |
getRCGroupNames() |
java.util.Map<java.lang.String,java.util.Set<NodeIDType>> |
getRCGroups()
Get current RC group names from the DB
|
ReconfigurationRecord<NodeIDType> |
getReconfigurationRecord(java.lang.String name) |
boolean |
initiateReadActiveRecords(NodeIDType active) |
boolean |
markDeleteReconfigurationRecord(java.lang.String name,
int epoch) |
boolean |
mergeIntent(java.lang.String name,
int epoch,
java.lang.String mergee) |
boolean |
mergeState(java.lang.String name,
int epoch,
java.lang.String mergee,
int mergeeEpoch,
java.lang.String state)
Merge state, i.e., append instead of replacing state, exactly once.
|
ReconfigurationRecord<NodeIDType> |
readNextActiveRecord(boolean add) |
void |
removePending(java.lang.String name) |
void |
setCallback(ReconfiguratorCallback callback) |
void |
setRCEpochs(ReconfigurationRecord<NodeIDType> ncRecord)
Sets RC epochs so that we know the epoch numbers for each reconfigurator
group.
|
boolean |
setState(java.lang.String name,
int epoch,
ReconfigurationRecord.RCStates state)
Set epoch and state as specified.
|
boolean |
setStateInitReconfiguration(java.util.Map<java.lang.String,java.lang.String> nameStates,
int epoch,
ReconfigurationRecord.RCStates state,
java.util.Set<NodeIDType> newActives) |
boolean |
setStateInitReconfiguration(java.lang.String name,
int epoch,
ReconfigurationRecord.RCStates state,
java.util.Set<NodeIDType> newActives)
Set epoch, state, newActives, primary only if current state is READY
|
boolean |
setStateMerge(java.util.Map<java.lang.String,java.lang.String> nameStates,
int epoch,
ReconfigurationRecord.RCStates state,
java.util.Set<NodeIDType> newActives) |
boolean |
setStateMerge(java.lang.String name,
int epoch,
ReconfigurationRecord.RCStates state,
java.util.Set<NodeIDType> newActives,
java.util.Set<java.lang.String> mergees) |
boolean |
updateDemandStats(DemandReport<NodeIDType> report)
Update demand statistics.
|
ReconfigurationRecord<NodeIDType> getReconfigurationRecord(java.lang.String name)
name
- name
.ReconfigurationRecord<NodeIDType> createReconfigurationRecord(ReconfigurationRecord<NodeIDType> record)
record
- boolean createReconfigurationRecords(java.util.Map<java.lang.String,java.lang.String> nameStates, java.util.Set<NodeIDType> newActives, ReconfigurationConfig.ReconfigureUponActivesChange reconfigureUponActivesChange)
newActives
- nameStates
- reconfigureUponActivesChange
- boolean deleteReconfigurationRecord(java.lang.String name, int epoch)
name
- epoch
- boolean markDeleteReconfigurationRecord(java.lang.String name, int epoch)
name
- epoch
- boolean updateDemandStats(DemandReport<NodeIDType> report)
report
- java.lang.String getDemandStats(java.lang.String name)
name
- boolean setState(java.lang.String name, int epoch, ReconfigurationRecord.RCStates state)
name
- epoch
- state
- boolean setStateInitReconfiguration(java.lang.String name, int epoch, ReconfigurationRecord.RCStates state, java.util.Set<NodeIDType> newActives)
name
- epoch
- state
- newActives
- boolean setStateInitReconfiguration(java.util.Map<java.lang.String,java.lang.String> nameStates, int epoch, ReconfigurationRecord.RCStates state, java.util.Set<NodeIDType> newActives)
nameStates
- epoch
- state
- newActives
- java.lang.String[] getPendingReconfigurations()
void removePending(java.lang.String name)
name
- java.util.Map<java.lang.String,java.util.Set<NodeIDType>> getRCGroups()
java.util.Set<java.lang.String> getRCGroupNames()
boolean addReconfigurator(NodeIDType node, java.net.InetSocketAddress sockAddr, int version)
node
- sockAddr
- version
- boolean addActiveReplica(NodeIDType node, java.net.InetSocketAddress sockAddr, int version)
node
- sockAddr
- version
- boolean garbageCollectOldReconfigurators(int version)
version
- boolean mergeState(java.lang.String name, int epoch, java.lang.String mergee, int mergeeEpoch, java.lang.String state)
name
- epoch
- mergee
- mergeeEpoch
- state
- boolean mergeIntent(java.lang.String name, int epoch, java.lang.String mergee)
name
- epoch
- mergee
- boolean setStateMerge(java.lang.String name, int epoch, ReconfigurationRecord.RCStates state, java.util.Set<NodeIDType> newActives, java.util.Set<java.lang.String> mergees)
name
- epoch
- state
- newActives
- mergees
- boolean setStateMerge(java.util.Map<java.lang.String,java.lang.String> nameStates, int epoch, ReconfigurationRecord.RCStates state, java.util.Set<NodeIDType> newActives)
nameStates
- epoch
- state
- newActives
- void delayedDeleteComplete()
void clearMerged(java.lang.String name, int epoch)
name
- epoch
- void setRCEpochs(ReconfigurationRecord<NodeIDType> ncRecord)
ncRecord
- void garbageCollectedDeletedNode(NodeIDType node)
node
- boolean initiateReadActiveRecords(NodeIDType active)
active
- ReconfigurationRecord<NodeIDType> readNextActiveRecord(boolean add)
add
- boolean closeReadActiveRecords()
java.lang.String fetchAndAggregateMergeeStates(java.util.Map<java.lang.String,java.lang.String> finalStates, java.lang.String mergerGroup, int epoch)
finalStates
- mergerGroup
- epoch
- void setCallback(ReconfiguratorCallback callback)
callback
- void close()