Details
-
Bug
-
Resolution: Done
-
Critical
-
13.0.0.Final
-
None
-
-
Workaround Exists
-
Description
Scenario:
- Configure Artemis in Wildfly to use DB2 JDBC persistence store.
- Redefine name of a database table and use lower case letters.
- Restart Wildfly
After the restart of Wildfly, boot of Artemis component fails. It seems that if table name is in lower case, Artemis is not able to detect that the particular table exists and tries to recreate it. The create operation fails and thus initialization of JDBC driver fails as well.
The same scenario works with Oracle 12c database. It seems that Oracle JDBC driver is case insensitive.
13:22:14,557 ERROR [org.apache.activemq.artemis.jdbc.store.drivers.AbstractJDBCDriver] (ServerService Thread Pool -- 78) SQL STATEMENTS: CREATE TABLE node1_bindings(id BIGINT,recordType SMALLINT,compactCount SMALLINT,txId BIGINT,userRecordType SMALLINT,variableSize INTEGER,record BLOB,txDataSize INTEGER,txData BLOB,txCheckNoRecords INTEGER,seq BI GINT NOT NULL, PRIMARY KEY(seq)) CREATE INDEX node1_bindings_IDX ON node1_bindings (id) SQL EXCEPTIONS: SQLState: 42710 ErrorCode: -601 Message: DB2 SQL Error: SQLCODE=-601, SQLSTATE=42710, SQLERRMC=DBALLO00.NODE1_BINDINGS;TABLE, DRIVER=4.24.92 13:22:14,679 ERROR [org.apache.activemq.artemis.core.server] (ServerService Thread Pool -- 78) AMQ224000: Failure in initialisation: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-601, SQLST ATE=42710, SQLERRMC=DBALLO00.NODE1_BINDINGS;TABLE, DRIVER=4.24.92 at com.ibm.db2.jcc.am.b6.a(b6.java:810) at com.ibm.db2.jcc.am.b6.a(b6.java:66) at com.ibm.db2.jcc.am.b6.a(b6.java:140) at com.ibm.db2.jcc.am.k3.c(k3.java:2817) at com.ibm.db2.jcc.am.k3.d(k3.java:2801) at com.ibm.db2.jcc.am.k3.b(k3.java:2161) at com.ibm.db2.jcc.t4.ab.k(ab.java:445) at com.ibm.db2.jcc.t4.ab.c(ab.java:104) at com.ibm.db2.jcc.t4.p.b(p.java:38) at com.ibm.db2.jcc.t4.av.h(av.java:124) at com.ibm.db2.jcc.am.k3.ak(k3.java:2156) at com.ibm.db2.jcc.am.k3.a(k3.java:3359) at com.ibm.db2.jcc.am.k3.c(k3.java:783) at com.ibm.db2.jcc.am.k3.executeUpdate(k3.java:762) at org.jboss.jca.adapters.jdbc.WrappedStatement.executeUpdate(WrappedStatement.java:430) at org.apache.activemq.artemis.jdbc.store.drivers.AbstractJDBCDriver.createTableIfNotExists(AbstractJDBCDriver.java:243) [artemis-jdbc-store-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT] at org.apache.activemq.artemis.jdbc.store.drivers.AbstractJDBCDriver.createTable(AbstractJDBCDriver.java:113) [artemis-jdbc-store-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT] at org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl.createSchema(JDBCJournalImpl.java:130) [artemis-jdbc-store-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT] at org.apache.activemq.artemis.jdbc.store.drivers.AbstractJDBCDriver.start(AbstractJDBCDriver.java:82) [artemis-jdbc-store-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT] at org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl.start(JDBCJournalImpl.java:119) [artemis-jdbc-store-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT] at org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.start(AbstractJournalStorageManager.java:1435) [artemis-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart1(ActiveMQServerImpl.java:2055) [artemis-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.LiveOnlyActivation.run(LiveOnlyActivation.java:62) [artemis-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:539) [artemis-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:485) [artemis-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT] at org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl.start(JMSServerManagerImpl.java:413) [artemis-jms-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT] at org.wildfly.extension.messaging.activemq.jms.JMSService.doStart(JMSService.java:206) [wildfly-messaging-activemq-14.0.0.Beta1-SNAPSHOT.jar:14.0.0.Beta1-SNAPSHOT] at org.wildfly.extension.messaging.activemq.jms.JMSService.access$000(JMSService.java:65) [wildfly-messaging-activemq-14.0.0.Beta1-SNAPSHOT.jar:14.0.0.Beta1-SNAPSHOT] at org.wildfly.extension.messaging.activemq.jms.JMSService$1.run(JMSService.java:100) [wildfly-messaging-activemq-14.0.0.Beta1-SNAPSHOT.jar:14.0.0.Beta1-SNAPSHOT] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_151] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_151] at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) [jboss-threads-2.3.2.Final.jar:2.3.2.Final] at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985) [jboss-threads-2.3.2.Final.jar:2.3.2.Final] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487) [jboss-threads-2.3.2.Final.jar:2.3.2.Final] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378) [jboss-threads-2.3.2.Final.jar:2.3.2.Final] at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] at org.jboss.threads.JBossThread.run(JBossThread.java:485) [jboss-threads-2.3.2.Final.jar:2.3.2.Final]
Attachments
Issue Links
- is cloned by
-
JBEAP-15040 [QA](7.1.z) Artemis doesn't boot after restart when journal is stored in DB2 and lower case table name is used
- Resolved
- relates to
-
WFLY-8307 If name of database table is written in small letters Artemis can't detect its existence
- Closed
-
ENTMQBR-1807 As a EAP developer I want lower-case table names to be upper-case in all tests using DB2 11.1
- Closed
- is related to
-
ARTEMIS-1979 Loading...