it looks like you may need to delete the lock table, that column has changed type in 2.22 see: https://github.com/apache/activemq-artemis/commit/101c0d2cd0f4127592f1817c52ab595359bc9b85#diff-6b567f39f4a9afa111f142768da46e6139b53ac2879517ca2c3745c2481b5f07R40
On Tue, 31 May 2022 at 17:04, 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?