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; } }