It looks like the change came from ARTEMIS-3679 [1]. The HOLDER_EXPIRATION_TIME column changed from a TIMESTAMP to a BIGINT on the NODE_MANAGER_STORE table.
Justin [1] https://issues.apache.org/jira/browse/ARTEMIS-3679 On Tue, May 31, 2022 at 11:04 AM Stephen Baker < stephen.ba...@rmssoftwareinc.com> wrote: > We have an Artemis MQ instance in our QA environment that we are using to > evaluate JDBC persistence. > > It was running with Artemis 2.20, and we recently updated to 2.22. Since > then the instance has failed to start with the following error: > > 2022-05-31 10:16:55,512 WARN > [org.apache.activemq.artemis.core.server.impl.jdbc.JdbcNodeManager] Errored > while trying to acquire lock: java.lang.IllegalStateException: > com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: > Incorrect datetime value: '1654006615505' for column > 'HOLDER_EXPIRATION_TIME' at row 1 > at > org.apache.activemq.artemis.core.server.impl.jdbc.JdbcLeaseLock.tryAcquire(JdbcLeaseLock.java:275) > [artemis-server-2.22.0.jar:2.22.0] > at > org.apache.activemq.artemis.core.server.impl.jdbc.LeaseLock.tryAcquire(LeaseLock.java:93) > [artemis-server-2.22.0.jar:2.22.0] > at > org.apache.activemq.artemis.core.server.impl.jdbc.LeaseLock.tryAcquire(LeaseLock.java:111) > [artemis-server-2.22.0.jar:2.22.0] > at > org.apache.activemq.artemis.core.server.impl.jdbc.JdbcNodeManager.lock(JdbcNodeManager.java:284) > [artemis-server-2.22.0.jar:2.22.0] > at > org.apache.activemq.artemis.core.server.impl.jdbc.JdbcNodeManager.startLiveNode(JdbcNodeManager.java:468) > [artemis-server-2.22.0.jar:2.22.0] > at > org.apache.activemq.artemis.core.server.impl.SharedStoreLiveActivation.run(SharedStoreLiveActivation.java:86) > [artemis-server-2.22.0.jar:2.22.0] > at > org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:663) > [artemis-server-2.22.0.jar:2.22.0] > at > org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:571) > [artemis-server-2.22.0.jar:2.22.0] > at > org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:64) > [artemis-cli-2.22.0.jar:2.22.0] > at > org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:127) > [artemis-cli-2.22.0.jar:2.22.0] > at > org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:160) > [artemis-cli-2.22.0.jar:2.22.0] > at > org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:108) > [artemis-cli-2.22.0.jar:2.22.0] > at > org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:135) > [artemis-cli-2.22.0.jar:2.22.0] > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) [java.base:] > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > [java.base:] > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > [java.base:] > at > java.base/java.lang.reflect.Method.invoke(Method.java:566) [java.base:] > at > org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134) > [artemis-boot.jar:2.22.0] > at > org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50) > [artemis-boot.jar:2.22.0] > Caused by: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data > truncation: Incorrect datetime value: '1654006615505' for column > 'HOLDER_EXPIRATION_TIME' at row 1 > at > com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:104) > [mysql-connector-java-8.0.28.jar:8.0.28] > at > com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) > [mysql-connector-java-8.0.28.jar:8.0.28] > at > com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1098) > [mysql-connector-java-8.0.28.jar:8.0.28] > at > com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1046) > [mysql-connector-java-8.0.28.jar:8.0.28] > at > com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1371) > [mysql-connector-java-8.0.28.jar:8.0.28] > at > com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:1031) > [mysql-connector-java-8.0.28.jar:8.0.28] > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) [java.base:] > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > [java.base:] > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > [java.base:] > at > java.base/java.lang.reflect.Method.invoke(Method.java:566) [java.base:] > at > com.mysql.cj.jdbc.ha.MultiHostConnectionProxy$JdbcInterfaceProxy.invoke(MultiHostConnectionProxy.java:107) > [mysql-connector-java-8.0.28.jar:8.0.28] > at com.sun.proxy.$Proxy21.executeUpdate(Unknown Source) > at > org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136) > [commons-dbcp2-2.7.0.jar:2.7.0] > at > org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136) > [commons-dbcp2-2.7.0.jar:2.7.0] > at > org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136) > [commons-dbcp2-2.7.0.jar:2.7.0] > at > org.apache.activemq.artemis.core.server.impl.jdbc.JdbcLeaseLock.tryAcquire(JdbcLeaseLock.java:260) > [artemis-server-2.22.0.jar:2.22.0] > ... 18 more > > Our JDBC configuration: > <store> > <database-store> > > <jdbc-driver-class-name>com.mysql.cj.jdbc.Driver</jdbc-driver-class-name> > <jdbc-user>rave</jdbc-user> > <jdbc-password>#######</jdbc-password> > > <jdbc-connection-url>jdbc:mysql:replication://qadb1:3306,qadb1:3306/DbArtemis?characterEncoding=UTF-8&useServerPrepStmts=false&rewriteBatchedStatements=true&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=EST5EDT</jdbc-connection-url> > <message-table-name>MESSAGES</message-table-name> > <bindings-table-name>BINDINGS</bindings-table-name> > > <large-message-table-name>LARGE_MESSAGES</large-message-table-name> > <page-store-table-name>PAGE_STORE</page-store-table-name> > > <node-manager-store-table-name>NODE_MANAGER_STORE</node-manager-store-table-name> > </database-store> > </store> > > We are using mysql-connector-java-8.0.28.jar > > Were there any additional steps needed for upgrading when using JDBC > persistence, or issues with our configuration that might have led to these > errors? >