ServiceDisruptionScheme
IntermittentLongGCDisruption
public class LongGCDisruption extends SingleNodeDisruption
Modifier and Type | Field | Description |
---|---|---|
protected java.lang.String |
disruptedNode |
cluster, logger, random
Constructor | Description |
---|---|
LongGCDisruption(java.util.Random random,
java.lang.String disruptedNode) |
Modifier and Type | Method | Description |
---|---|---|
TimeValue |
expectedTimeToHeal() |
|
protected long |
getBlockDetectionIntervalInMillis() |
|
protected long |
getSuspendingTimeoutInMillis() |
|
protected java.util.regex.Pattern[] |
getUnsafeClasses() |
|
boolean |
isBlockDetectionSupported() |
|
boolean |
isDisruptedNodeThread(java.lang.String threadName) |
|
protected void |
onBlockDetected(java.lang.management.ThreadInfo blockedThread,
java.lang.management.ThreadInfo blockingThread) |
|
void |
removeAndEnsureHealthy(InternalTestCluster cluster) |
|
protected void |
resumeThreads(java.util.Set<java.lang.Thread> threads) |
|
void |
startDisrupting() |
|
void |
stopDisrupting() |
|
protected boolean |
suspendThreads(java.util.Set<java.lang.Thread> nodeThreads) |
resolves all threads belonging to given node and suspends them if their current stack trace
is "safe".
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
applyToCluster, applyToNode, ensureNodeCount, removeFromCluster, removeFromNode, testClusterClosed
public LongGCDisruption(java.util.Random random, java.lang.String disruptedNode)
public void startDisrupting()
public boolean isDisruptedNodeThread(java.lang.String threadName)
public void stopDisrupting()
public void removeAndEnsureHealthy(InternalTestCluster cluster)
public TimeValue expectedTimeToHeal()
protected boolean suspendThreads(java.util.Set<java.lang.Thread> nodeThreads)
protected java.util.regex.Pattern[] getUnsafeClasses()
protected long getSuspendingTimeoutInMillis()
public boolean isBlockDetectionSupported()
protected long getBlockDetectionIntervalInMillis()
protected void onBlockDetected(java.lang.management.ThreadInfo blockedThread, @Nullable java.lang.management.ThreadInfo blockingThread)
protected void resumeThreads(java.util.Set<java.lang.Thread> threads)