GEODE-1580: GemFireDeadlockDetectorDUnitTest.testDistributedDeadlockWithDLock

This doesn't fix the flaky test but while looking at it I found the output
difficult to work with.  I've added hexadecimal thread ID to stack traces
in the deadlock-detector because geode log files have hexadecimal thread IDs
while stack dumps have decimal.  We need both in deadlock-detector output
if we want to  correlate artifacts without using a calculator.


Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/f68c4160
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/f68c4160
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/f68c4160

Branch: refs/heads/develop
Commit: f68c41600151b18bd096d7d1e77d6a5fcecce9d5
Parents: c8217f1
Author: Bruce Schuchardt <bschucha...@pivotal.io>
Authored: Mon Dec 19 08:57:30 2016 -0800
Committer: Bruce Schuchardt <bschucha...@pivotal.io>
Committed: Mon Dec 19 09:50:50 2016 -0800

----------------------------------------------------------------------
 .../apache/geode/distributed/internal/deadlock/LocalThread.java | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/geode/blob/f68c4160/geode-core/src/main/java/org/apache/geode/distributed/internal/deadlock/LocalThread.java
----------------------------------------------------------------------
diff --git 
a/geode-core/src/main/java/org/apache/geode/distributed/internal/deadlock/LocalThread.java
 
b/geode-core/src/main/java/org/apache/geode/distributed/internal/deadlock/LocalThread.java
index 1400b3f..498ac7c 100644
--- 
a/geode-core/src/main/java/org/apache/geode/distributed/internal/deadlock/LocalThread.java
+++ 
b/geode-core/src/main/java/org/apache/geode/distributed/internal/deadlock/LocalThread.java
@@ -43,8 +43,9 @@ public class LocalThread implements Serializable, 
ThreadReference {
   private String generateThreadStack(ThreadInfo info) {
     // This is annoying, but the to string method on info sucks.
     StringBuilder result = new StringBuilder();
-    result.append(info.getThreadName()).append(" 
ID=").append(info.getThreadId()).append(" state=")
-        .append(info.getThreadState());
+    result.append(info.getThreadName()).append(" ID=0x")
+        
.append(Long.toHexString(info.getThreadId())).append("(").append(info.getThreadId())
+        .append(") state=").append(info.getThreadState());
 
 
     if (info.getLockInfo() != null) {

Reply via email to