This is an automated email from the ASF dual-hosted git repository.

ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git

commit be00cf4b0f91d1dda19835d3b3c0f1284df2e875
Author: SingleX <single...@gmail.com>
AuthorDate: Fri Jul 20 11:27:55 2018 +0800

    SCB-741 keep the stack trace size below 10240
---
 .../servicecomb/saga/omega/transaction/TxAbortedEvent.java       | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxAbortedEvent.java
 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxAbortedEvent.java
index f0bac54..0a4146a 100644
--- 
a/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxAbortedEvent.java
+++ 
b/omega/omega-transaction/src/main/java/org/apache/servicecomb/saga/omega/transaction/TxAbortedEvent.java
@@ -23,6 +23,9 @@ import java.io.StringWriter;
 import org.apache.servicecomb.saga.common.EventType;
 
 public class TxAbortedEvent extends TxEvent {
+
+  private static final int PAYLOADS_MAX_LENGTH = 10240;
+
   public TxAbortedEvent(String globalTxId, String localTxId, String 
parentTxId, String compensationMethod, Throwable throwable) {
     super(EventType.TxAbortedEvent, globalTxId, localTxId, parentTxId, 
compensationMethod, 0, "", 0,
         stackTrace(throwable));
@@ -31,6 +34,10 @@ public class TxAbortedEvent extends TxEvent {
   private static String stackTrace(Throwable e) {
     StringWriter writer = new StringWriter();
     e.printStackTrace(new PrintWriter(writer));
-    return writer.toString();
+    String stackTrace = writer.toString();
+    if (stackTrace.length() > PAYLOADS_MAX_LENGTH) {
+      stackTrace = stackTrace.substring(0, PAYLOADS_MAX_LENGTH);
+    }
+    return stackTrace;
   }
 }

Reply via email to