Class DiskUsageBroadcaster
- java.lang.Object
-
- org.apache.cassandra.service.disk.usage.DiskUsageBroadcaster
-
- All Implemented Interfaces:
IEndpointStateChangeSubscriber
public class DiskUsageBroadcaster extends java.lang.Object implements IEndpointStateChangeSubscriber
StartsDiskUsageMonitorto monitor local disk usage state and broadcast new state via Gossip. At the same time, it caches cluster's disk usage state received via Gossip.
-
-
Field Summary
Fields Modifier and Type Field Description static DiskUsageBroadcasterinstance
-
Constructor Summary
Constructors Constructor Description DiskUsageBroadcaster(DiskUsageMonitor monitor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbeforeChange(InetAddressAndPort endpoint, EndpointState currentState, ApplicationState newStateKey, VersionedValue newValue)booleanhasStuffedOrFullNode()booleanisFull(InetAddressAndPort endpoint)booleanisStuffed(InetAddressAndPort endpoint)voidonAlive(InetAddressAndPort endpoint, EndpointState state)voidonChange(InetAddressAndPort endpoint, ApplicationState state, VersionedValue value)voidonDead(InetAddressAndPort endpoint, EndpointState state)voidonJoin(InetAddressAndPort endpoint, EndpointState epState)Use to inform interested parties about the change in the state for specified endpointvoidonRemove(InetAddressAndPort endpoint)voidonRestart(InetAddressAndPort endpoint, EndpointState state)Called whenever a node is restarted.voidstartBroadcasting()DiskUsageStatestate(InetAddressAndPort endpoint)
-
-
-
Field Detail
-
instance
public static final DiskUsageBroadcaster instance
-
-
Constructor Detail
-
DiskUsageBroadcaster
public DiskUsageBroadcaster(DiskUsageMonitor monitor)
-
-
Method Detail
-
hasStuffedOrFullNode
public boolean hasStuffedOrFullNode()
- Returns:
trueif any node in the cluster is STUFFED OR FULL
-
isFull
public boolean isFull(InetAddressAndPort endpoint)
- Returns:
trueif given node's disk usage is FULL
-
isStuffed
public boolean isStuffed(InetAddressAndPort endpoint)
- Returns:
trueif given node's disk usage is STUFFED
-
state
public DiskUsageState state(InetAddressAndPort endpoint)
-
startBroadcasting
public void startBroadcasting()
-
onChange
public void onChange(InetAddressAndPort endpoint, ApplicationState state, VersionedValue value)
- Specified by:
onChangein interfaceIEndpointStateChangeSubscriber
-
onJoin
public void onJoin(InetAddressAndPort endpoint, EndpointState epState)
Description copied from interface:IEndpointStateChangeSubscriberUse to inform interested parties about the change in the state for specified endpoint- Specified by:
onJoinin interfaceIEndpointStateChangeSubscriber- Parameters:
endpoint- endpoint for which the state change occurred.epState- state that actually changed for the above endpoint.
-
beforeChange
public void beforeChange(InetAddressAndPort endpoint, EndpointState currentState, ApplicationState newStateKey, VersionedValue newValue)
- Specified by:
beforeChangein interfaceIEndpointStateChangeSubscriber
-
onAlive
public void onAlive(InetAddressAndPort endpoint, EndpointState state)
- Specified by:
onAlivein interfaceIEndpointStateChangeSubscriber
-
onDead
public void onDead(InetAddressAndPort endpoint, EndpointState state)
- Specified by:
onDeadin interfaceIEndpointStateChangeSubscriber
-
onRestart
public void onRestart(InetAddressAndPort endpoint, EndpointState state)
Description copied from interface:IEndpointStateChangeSubscriberCalled whenever a node is restarted. Note that there is no guarantee when that happens that the node was previously marked down. It will have only ifstate.isAlive() == falseasstateis from before the restarted node is marked up.- Specified by:
onRestartin interfaceIEndpointStateChangeSubscriber
-
onRemove
public void onRemove(InetAddressAndPort endpoint)
- Specified by:
onRemovein interfaceIEndpointStateChangeSubscriber
-
-