This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new 74d8c04 GEODE-5780: remove LoggingThreadGroup
74d8c04 is described below
commit 74d8c043d198dcdb4420d7757217f5a09621ec03
Author: Bruce Schuchardt <[email protected]>
AuthorDate: Mon Oct 8 10:06:59 2018 -0700
GEODE-5780: remove LoggingThreadGroup
Fixed up the PluckStacks expected-thread utility for new
LoggingThread & associated classes, plus the recently added
ThreadsMonitor thread.
---
.../apache/geode/internal/util/PluckStacks.java | 30 +++++++++++-----------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git
a/geode-core/src/main/java/org/apache/geode/internal/util/PluckStacks.java
b/geode-core/src/main/java/org/apache/geode/internal/util/PluckStacks.java
index 00dc18a..4663436 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/util/PluckStacks.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/util/PluckStacks.java
@@ -238,7 +238,7 @@ public class PluckStacks {
return isIdleExecutor(thread);
}
if (threadName.startsWith("Geode Failure Detection Server")) {
- return stackSize < 11 && thread.getFirstFrame().contains("socketAccept");
+ return stackSize < 12 && thread.getFirstFrame().contains("socketAccept");
}
if (threadName.startsWith("Geode Membership Timer")) {
// System.out.println("gf timer stack size = " + stackSize + "; frame =
" + thread.get(1));
@@ -345,10 +345,10 @@ public class PluckStacks {
return !thread.isRunnable() && stackSize <= 6;
}
if (threadName.startsWith("Replicate/Partition Region Garbage Collector"))
{
- return !thread.isRunnable() && (stackSize <= 7);
+ return !thread.isRunnable() && (stackSize <= 9);
}
if (threadName.startsWith("Non-replicate Region Garbage Collector")) {
- return !thread.isRunnable() && (stackSize <= 7);
+ return !thread.isRunnable() && (stackSize <= 9);
}
if (threadName.equals("GemFire Time Service")) {
return !thread.isRunnable();
@@ -419,6 +419,9 @@ public class PluckStacks {
if (threadName.startsWith("ThresholdEventProcessor")) {
return isIdleExecutor(thread);
}
+ if (threadName.startsWith("ThreadsMonitor") &&
thread.getFirstFrame().contains("Object.wait")) {
+ return true;
+ }
if (threadName.startsWith("Timer-")) {
if (thread.isRunnable())
return true;
@@ -444,21 +447,18 @@ public class PluckStacks {
boolean isIdleExecutor(ThreadStack thread) {
- if (thread.isRunnable())
+ if (thread.isRunnable()) {
return false;
+ }
int size = thread.size();
- if (size > 8 && thread.get(7).contains("DMStats.take"))
+ if (size > 8 && thread.get(7).contains("DMStats.take")) {
return true;
- if (size > 3 && thread.get(size - 3).contains("getTask"))
- return true; // locator request thread
- if (size > 4 && thread.get(size - 4).contains("getTask"))
- return true; // most executors match this
- if (size > 5 && thread.get(size - 5).contains("getTask"))
- return true; // View Message Processor
- if (size > 6 && thread.get(size - 6).contains("getTask"))
- return true; // View Message Processor
- if (size > 7 && thread.get(size - 7).contains("getTask"))
- return true; // View Message Processor
+ }
+ for (int i = 3; i < 12; i++) {
+ if (size > i && thread.get(size - i).contains("getTask")) {
+ return true;
+ }
+ }
return false;
}