Erich Duda created WFLY-10678:
---------------------------------
Summary: 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}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)