You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Michael Blow (Code Review)" <do...@asterixdb.incubator.apache.org> on 2018/04/03 22:57:18 UTC
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Michael Blow has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/2564
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
[ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
- Implements a thread dump mechanism that does not truncate stack
frames after the top 8
Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
---
M hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ThreadDumpUtil.java
1 file changed, 61 insertions(+), 3 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/64/2564/1
diff --git a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ThreadDumpUtil.java b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ThreadDumpUtil.java
index 221d4b0..2de6700 100644
--- a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ThreadDumpUtil.java
+++ b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ThreadDumpUtil.java
@@ -19,7 +19,9 @@
package org.apache.hyracks.util;
import java.io.IOException;
+import java.lang.management.LockInfo;
import java.lang.management.ManagementFactory;
+import java.lang.management.MonitorInfo;
import java.lang.management.ThreadInfo;
import java.lang.management.ThreadMXBean;
import java.util.ArrayList;
@@ -28,6 +30,8 @@
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
+
+import org.apache.commons.lang3.mutable.MutableInt;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
@@ -100,8 +104,62 @@
}
public static String takeDumpString() {
- StringBuilder buf = new StringBuilder(2048);
- Stream.of(threadMXBean.dumpAllThreads(true, true)).forEach(buf::append);
- return buf.toString();
+ ThreadDumpHelper helper = new ThreadDumpHelper();
+ Stream.of(threadMXBean.dumpAllThreads(true, true)).forEach(helper::addThread);
+ return helper.dumpAsString();
+ }
+
+ static class ThreadDumpHelper {
+
+ private final StringBuilder buf = new StringBuilder(32 * 1024);
+
+ private ThreadDumpHelper() {
+ }
+
+ private void addThread(ThreadInfo ti) {
+ buf.append('\n');
+ quote(ti.getThreadName()).append(" [tid=").append(ti.getThreadId()).append(" state=")
+ .append(ti.getThreadState());
+
+ if (ti.getLockName() != null) {
+ buf.append(" lock=").append(ti.getLockName());
+ if (ti.getLockOwnerName() != null) {
+ buf.append(" lockOwner=");
+ quote(ti.getLockOwnerName()).append(" (tid=").append(ti.getLockOwnerId());
+ }
+ }
+ if (ti.isSuspended()) {
+ buf.append(" suspended=true");
+ }
+ buf.append("]\n");
+ MutableInt depth = new MutableInt();
+ for (StackTraceElement frame : ti.getStackTrace()) {
+ int thisDepth = depth.getAndIncrement();
+ buf.append("\tat ").append(frame).append('\n');
+ Stream.of(ti.getLockedMonitors()).filter(m -> m.getLockedStackDepth() == thisDepth)
+ .forEach(this::output);
+ }
+ LockInfo[] lockedSynchronizers = ti.getLockedSynchronizers();
+ if (lockedSynchronizers.length > 0) {
+ buf.append("\n\tLocked synchronizers:\n");
+ Stream.of(lockedSynchronizers).forEachOrdered(this::output);
+ }
+ }
+
+ private StringBuilder quote(Object quotable) {
+ return buf.append('"').append(quotable).append('"');
+ }
+
+ private StringBuilder output(MonitorInfo info) {
+ return buf.append("\t- <").append("locked ").append(info).append(">\n");
+ }
+
+ private StringBuilder output(LockInfo info) {
+ return buf.append("\t- ").append("").append(info).append("\n");
+ }
+
+ public String dumpAsString() {
+ return buf.toString();
+ }
}
}
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1: Contrib+1
BAD Compatibility Tests Successful
https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/3019/ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Integration Tests Successful
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/6154/ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/3706/ (4/12)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/3234/ (10/12)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/3728/ (6/12)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/7222/ (3/12)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/3261/ (11/12)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/1282/ (12/12)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/8738/ (1/12)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/6154/
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1: Contrib+1
Analytics Compatibility Tests Successful
https://goo.gl/sUs9fy : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/3187/ (7/12)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Analytics Compatibility Compilation Successful
https://goo.gl/fpr2fP : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/3806/ (9/12)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/3019/
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Michael Blow (Code Review)" <do...@asterixdb.incubator.apache.org>.
Michael Blow has submitted this change and it was merged.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
[ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
- Implements a thread dump mechanism that does not truncate stack
frames after the top 8
Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2564
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Murtadha Hubail <mh...@apache.org>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
---
M hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ThreadDumpUtil.java
1 file changed, 61 insertions(+), 3 deletions(-)
Approvals:
Anon. E. Moose #1000171:
Jenkins: Verified; No violations found;
Murtadha Hubail: Looks good to me, approved
diff --git a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ThreadDumpUtil.java b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ThreadDumpUtil.java
index 221d4b0..2de6700 100644
--- a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ThreadDumpUtil.java
+++ b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ThreadDumpUtil.java
@@ -19,7 +19,9 @@
package org.apache.hyracks.util;
import java.io.IOException;
+import java.lang.management.LockInfo;
import java.lang.management.ManagementFactory;
+import java.lang.management.MonitorInfo;
import java.lang.management.ThreadInfo;
import java.lang.management.ThreadMXBean;
import java.util.ArrayList;
@@ -28,6 +30,8 @@
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
+
+import org.apache.commons.lang3.mutable.MutableInt;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
@@ -100,8 +104,62 @@
}
public static String takeDumpString() {
- StringBuilder buf = new StringBuilder(2048);
- Stream.of(threadMXBean.dumpAllThreads(true, true)).forEach(buf::append);
- return buf.toString();
+ ThreadDumpHelper helper = new ThreadDumpHelper();
+ Stream.of(threadMXBean.dumpAllThreads(true, true)).forEach(helper::addThread);
+ return helper.dumpAsString();
+ }
+
+ static class ThreadDumpHelper {
+
+ private final StringBuilder buf = new StringBuilder(32 * 1024);
+
+ private ThreadDumpHelper() {
+ }
+
+ private void addThread(ThreadInfo ti) {
+ buf.append('\n');
+ quote(ti.getThreadName()).append(" [tid=").append(ti.getThreadId()).append(" state=")
+ .append(ti.getThreadState());
+
+ if (ti.getLockName() != null) {
+ buf.append(" lock=").append(ti.getLockName());
+ if (ti.getLockOwnerName() != null) {
+ buf.append(" lockOwner=");
+ quote(ti.getLockOwnerName()).append(" (tid=").append(ti.getLockOwnerId());
+ }
+ }
+ if (ti.isSuspended()) {
+ buf.append(" suspended=true");
+ }
+ buf.append("]\n");
+ MutableInt depth = new MutableInt();
+ for (StackTraceElement frame : ti.getStackTrace()) {
+ int thisDepth = depth.getAndIncrement();
+ buf.append("\tat ").append(frame).append('\n');
+ Stream.of(ti.getLockedMonitors()).filter(m -> m.getLockedStackDepth() == thisDepth)
+ .forEach(this::output);
+ }
+ LockInfo[] lockedSynchronizers = ti.getLockedSynchronizers();
+ if (lockedSynchronizers.length > 0) {
+ buf.append("\n\tLocked synchronizers:\n");
+ Stream.of(lockedSynchronizers).forEachOrdered(this::output);
+ }
+ }
+
+ private StringBuilder quote(Object quotable) {
+ return buf.append('"').append(quotable).append('"');
+ }
+
+ private StringBuilder output(MonitorInfo info) {
+ return buf.append("\t- <").append("locked ").append(info).append(">\n");
+ }
+
+ private StringBuilder output(LockInfo info) {
+ return buf.append("\t- ").append("").append(info).append("\n");
+ }
+
+ public String dumpAsString() {
+ return buf.toString();
+ }
}
}
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/3275/ (2/12)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/3987/ (8/12)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/3490/ (5/12)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[release-0.9.4-pre-rc]: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
Posted by "Murtadha Hubail (Code Review)" <do...@asterixdb.incubator.apache.org>.
Murtadha Hubail has posted comments on this change.
Change subject: [ASTERIXDB-2353][HYR][RT][FAIL] Provide complete thread dumps
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://asterix-gerrit.ics.uci.edu/2564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Id778615b3ac8951113d6b9ea027ad8650b784cb2
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.4-pre-rc
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No