Skip to content

Commit

Permalink
[misc] ensure tracktrace results
Browse files Browse the repository at this point in the history
  • Loading branch information
rusher committed Mar 18, 2020
1 parent f1d0924 commit 82717fd
Showing 1 changed file with 22 additions and 20 deletions.
42 changes: 22 additions & 20 deletions src/main/java/org/mariadb/jdbc/internal/io/LruTraceCache.java
Original file line number Diff line number Diff line change
Expand Up @@ -91,35 +91,37 @@ protected boolean removeEldestEntry(Map.Entry<String, TraceObject> eldest) {
*
* @return trace cache value
*/
public String printStack() {
public synchronized String printStack() {
StringBuilder sb = new StringBuilder();
boolean finished = false;
while (!finished) {
try {
Map.Entry<String, TraceObject>[] arr = entrySet().toArray(new Map.Entry[0]);
for (Map.Entry<String, TraceObject> entry : arr) {
TraceObject traceObj = entry.getValue();
String key = entry.getKey();
String indicator = "";
if (traceObj.getBuf() != null) {
String key = entry.getKey();
String indicator = "";

switch (traceObj.getIndicatorFlag()) {
case TraceObject.COMPRESSED_PROTOCOL_NOT_COMPRESSED_PACKET:
indicator = " (compressed protocol - packet not compressed)";
break;
case TraceObject.COMPRESSED_PROTOCOL_COMPRESSED_PACKET:
indicator = " (compressed protocol - packet compressed)";
break;
default:
break;
}
sb.append("\nthread:").append(traceObj.getThreadId());
if (traceObj.isSend()) {
sb.append(" send at -exchange:");
} else {
sb.append(" read at -exchange:");
}
switch (traceObj.getIndicatorFlag()) {
case TraceObject.COMPRESSED_PROTOCOL_NOT_COMPRESSED_PACKET:
indicator = " (compressed protocol - packet not compressed)";
break;
case TraceObject.COMPRESSED_PROTOCOL_COMPRESSED_PACKET:
indicator = " (compressed protocol - packet compressed)";
break;
default:
break;
}
sb.append("\nthread:").append(traceObj.getThreadId());
if (traceObj.isSend()) {
sb.append(" send at -exchange:");
} else {
sb.append(" read at -exchange:");
}

sb.append(key).append(indicator).append(Utils.hexdump(traceObj.getBuf()));
sb.append(key).append(indicator).append(Utils.hexdump(traceObj.getBuf()));
}
}
finished = true;
} catch (ConcurrentModificationException cc) {
Expand Down

0 comments on commit 82717fd

Please sign in to comment.