]
Erich Duda commented on WFLY-10678:
-----------------------------------
CC: [~fnigro]
Artemis doesn't boot after restart when journal is stored in DB2
and lower case table name is used
--------------------------------------------------------------------------------------------------
Key: WFLY-10678
URL:
https://issues.jboss.org/browse/WFLY-10678
Project: WildFly
Issue Type: Bug
Components: JMS
Affects Versions: 13.0.0.Final
Reporter: Erich Duda
Assignee: Jeff Mesnil
Priority: Critical
*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.
{code}
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]
{code}