Class LongGCDisruption

    • Field Detail

      • disruptedNode

        protected final java.lang.String disruptedNode
    • Constructor Detail

      • LongGCDisruption

        public LongGCDisruption​(java.util.Random random,
                                java.lang.String disruptedNode)
    • Method Detail

      • startDisrupting

        public void startDisrupting()
      • isDisruptedNodeThread

        public boolean isDisruptedNodeThread​(java.lang.String threadName)
      • stopDisrupting

        public void stopDisrupting()
      • expectedTimeToHeal

        public TimeValue expectedTimeToHeal()
      • suspendThreads

        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". Threads are added to nodeThreads if suspended. returns true if some live threads were found. The caller is expected to call this method until no more "live" are found.
      • getUnsafeClasses

        protected java.util.regex.Pattern[] getUnsafeClasses()
      • getSuspendingTimeoutInMillis

        protected long getSuspendingTimeoutInMillis()
      • isBlockDetectionSupported

        public boolean isBlockDetectionSupported()
      • getBlockDetectionIntervalInMillis

        protected long getBlockDetectionIntervalInMillis()
      • onBlockDetected

        protected void onBlockDetected​(java.lang.management.ThreadInfo blockedThread,
                                       @Nullable
                                       java.lang.management.ThreadInfo blockingThread)
      • resumeThreads

        protected void resumeThreads​(java.util.Set<java.lang.Thread> threads)