ServiceDisruptionSchemeIntermittentLongGCDisruptionpublic 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, waitapplyToCluster, applyToNode, ensureNodeCount, removeFromCluster, removeFromNode, testClusterClosedpublic 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)