Details
-
Bug
-
Resolution: Done
-
Critical
-
None
-
None
-
-
User Experience
-
Workaround Exists
-
Description
If the name of database table is written in small letters - e.g. node1_messages_table, Artemis can't detect its existence and it tries to create it again what leads to error [1]. This happens after restarting of server.
I don't see the issue if name of database table is written in capital letters - e.g. NODE1_MESSAGES_TABLE.
[1]
14:00:26,208 ERROR [org.apache.activemq.artemis.jdbc.store.drivers.AbstractJDBCDriver] (ServerService Thread Pool -- 72) SQL STATEMENTS: CREATE TABLE node1_large_messages_table(ID NUMBER(19) GENERATED BY DEFAULT ON NULL AS IDENTITY, FILENAME VARCHAR(255), EXTENSION VARCHAR(10), DATA BLOB, PRIMARY KEY(ID)) SQL EXCEPTIONS: SQLState: 42000 ErrorCode: 955 Message: ORA-00955: name is already used by an existing object 14:00:26,372 ERROR [org.apache.activemq.artemis.journal] (ServerService Thread Pool -- 72) Could not start file factory, unable to connect to database: java.sql.SQLSyntaxErrorException: ORA-00955: name is already used by an existing objec t at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:210) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:30) at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:931) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1150) at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1707) at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1670) at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:310) at org.jboss.jca.adapters.jdbc.WrappedStatement.executeUpdate(WrappedStatement.java:430) at org.apache.activemq.artemis.jdbc.store.drivers.AbstractJDBCDriver.createTableIfNotExists(AbstractJDBCDriver.java:170) [artemis-jdbc-store-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.apache.activemq.artemis.jdbc.store.drivers.AbstractJDBCDriver.createTable(AbstractJDBCDriver.java:99) [artemis-jdbc-store-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.apache.activemq.artemis.jdbc.store.file.JDBCSequentialFileFactoryDriver.createSchema(JDBCSequentialFileFactoryDriver.java:66) [artemis-jdbc-store-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.apache.activemq.artemis.jdbc.store.drivers.AbstractJDBCDriver.start(AbstractJDBCDriver.java:71) [artemis-jdbc-store-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.apache.activemq.artemis.jdbc.store.file.JDBCSequentialFileFactory.start(JDBCSequentialFileFactory.java:91) [artemis-jdbc-store-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.apache.activemq.artemis.core.persistence.impl.journal.JDBCJournalStorageManager.init(JDBCJournalStorageManager.java:74) [artemis-server-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.<init>(AbstractJournalStorageManager.java:216) [artemis-server-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.apache.activemq.artemis.core.persistence.impl.journal.JournalStorageManager.<init>(JournalStorageManager.java:104) [artemis-server-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.apache.activemq.artemis.core.persistence.impl.journal.JDBCJournalStorageManager.<init>(JDBCJournalStorageManager.java:52) [artemis-server-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.createStorageManager(ActiveMQServerImpl.java:1860) [artemis-server-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart1(ActiveMQServerImpl.java:2000) [artemis-server-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.apache.activemq.artemis.core.server.impl.LiveOnlyActivation.run(LiveOnlyActivation.java:62) [artemis-server-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:520) [artemis-server-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:469) [artemis-server-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl.start(JMSServerManagerImpl.java:412) [artemis-jms-server-1.5.3.003-redhat-1.jar:1.5.3.003-redhat-1] at org.wildfly.extension.messaging.activemq.jms.JMSService.doStart(JMSService.java:199) [wildfly-messaging-activemq-7.1.0.Alpha1-redhat-14.jar:7.1.0.Alpha1-redhat-14] at org.wildfly.extension.messaging.activemq.jms.JMSService.access$000(JMSService.java:63) [wildfly-messaging-activemq-7.1.0.Alpha1-redhat-14.jar:7.1.0.Alpha1-redhat-14] at org.wildfly.extension.messaging.activemq.jms.JMSService$1.run(JMSService.java:97) [wildfly-messaging-activemq-7.1.0.Alpha1-redhat-14.jar:7.1.0.Alpha1-redhat-14] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_121] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_121] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_121] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_121] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_121] at org.jboss.threads.JBossThread.run(JBossThread.java:320) [jboss-threads-2.2.1.Final-redhat-1.jar:2.2.1.Final-redhat-1]
Customer impact: If names of database tables are written in small letters, EAP fails at second start. From logs it's not easy to find out what is wrong and how workaround the issue. It is serious user experience problem.
Attachments
Issue Links
- clones
-
JBEAP-9214 If name of database table is written in small letters Artemis can't detect its existence
- Verified
- is related to
-
WFLY-10678 Artemis doesn't boot after restart when journal is stored in DB2 and lower case table name is used
- Closed