Skip to content
This repository has been archived by the owner on Oct 13, 2024. It is now read-only.

Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'payloads' at row 1 #218

Closed
wyzssw opened this issue Jul 12, 2018 · 5 comments

Comments

@wyzssw
Copy link

wyzssw commented Jul 12, 2018

I encounter an Exception at Alpha Server

Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'payloads' at row 1
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3974) ~[mysql-connector-java-5.1.46.jar:5.1.46]
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912) ~[mysql-connector-java-5.1.46.jar:5.1.46]
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) ~[mysql-connector-java-5.1.46.jar:5.1.46]
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) ~[mysql-connector-java-5.1.46.jar:5.1.46]
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2486) ~[mysql-connector-java-5.1.46.jar:5.1.46]
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858) ~[mysql-connector-java-5.1.46.jar:5.1.46]
	at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2079) ~[mysql-connector-java-5.1.46.jar:5.1.46]
	at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2013) ~[mysql-connector-java-5.1.46.jar:5.1.46]
	at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5104) ~[mysql-connector-java-5.1.46.jar:5.1.46]
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1998) ~[mysql-connector-java-5.1.46.jar:5.1.46]
	at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source) ~[na:na]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_102]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_102]
	at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:114) ~[tomcat-jdbc-8.5.31.jar:na]
	at com.sun.proxy.$Proxy106.executeUpdate(Unknown Source) ~[na:na]
	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:895) ~[org.eclipse.persistence.core-2.7.1.jar:na]
	... 60 common frames omitted

I find it's because payload bytes is more than 10240

public class TxAbortedEvent extends TxEvent {
  public TxAbortedEvent(String globalTxId, String localTxId, String parentTxId, String compensationMethod, Throwable throwable) {
    super(EventType.TxAbortedEvent, globalTxId, localTxId, parentTxId, compensationMethod, 0, "", 0,
        stackTrace(throwable));
  }

  private static String stackTrace(Throwable e) {
    StringWriter writer = new StringWriter();
    e.printStackTrace(new PrintWriter(writer));
    return writer.toString();
  }
}

why not use varchar with store in json format

@WillemJiang
Copy link
Member

The stack trace could be very big, we may need to cut it down.
BTW, we normally use JIRA to track the issues, please feel free to create one for it.

@wyzssw
Copy link
Author

wyzssw commented Jul 13, 2018

@WillemJiang
Copy link
Member

@wyzssw We already submit a quick fix for it . Do you mind verify it and close the issue if the fix works.

@wyzssw
Copy link
Author

wyzssw commented Jul 31, 2018

I have checked it by triggering the post request with

curl --request POST \
  --url http://localhost:8034/booking/abc/3/3

It is fixed,Thanks

@WillemJiang
Copy link
Member

@wyzssw Do you mind close this issue?

@wyzssw wyzssw closed this as completed Jul 31, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants