-
Bug
-
Resolution: Won't Do
-
Minor
-
None
-
7.1.0.DR17, 7.1.0.DR18, 7.1.0.DR19
-
None
-
-
-
-
-
-
Workaround Exists
-
Oracle databases have a hard limit on identifier length - 30 characters. During our failover DB tests there was an error message logged on server indicating that the length of table identifiers was exceeded in some queries when creating the table "s_clusterbench_ee7_ear_clusterbench_ee7_web_granular_war".
Server log stacktrace:
oracle-11gR2:
16:11:57,701 ERROR [org.infinispan.persistence.jdbc.table.management.OracleTableManager] (ServerService Thread Pool -- 73) ISPN008011: Error while creating table; used DDL statement: 'CREATE TABLE "s_clusterbench_ee7_ear_clusterbench_ee7_web_granular_war" (id VARCHAR(255) NOT NULL, datum BLOB, ver NUMBER, PRIMARY KEY (id))': java.sql.SQLSyntaxErrorException: ORA-00972: identifier is too long [JBossINF] [JBossINF] at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450) [JBossINF] at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399) [JBossINF] at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059) [JBossINF] at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522) [JBossINF] at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257) [JBossINF] at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587) [JBossINF] at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:210) [JBossINF] at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:30) [JBossINF] at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:931) [JBossINF] at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1150) [JBossINF] at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1707) [JBossINF] at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1670) [JBossINF] at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:310) [JBossINF] at org.jboss.jca.adapters.jdbc.WrappedStatement.executeUpdate(WrappedStatement.java:430) [JBossINF] at org.infinispan.persistence.jdbc.table.management.AbstractTableManager.executeUpdateSql(AbstractTableManager.java:124) [JBossINF] at org.infinispan.persistence.jdbc.table.management.AbstractTableManager.createTable(AbstractTableManager.java:117) [JBossINF] at org.infinispan.persistence.jdbc.table.management.AbstractTableManager.start(AbstractTableManager.java:56) [JBossINF] at org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore.initializeConnectionFactory(JdbcStringBasedStore.java:426) [JBossINF] at org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore.start(JdbcStringBasedStore.java:103) [JBossINF] at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:141) [JBossINF] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [JBossINF] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [JBossINF] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [JBossINF] at java.lang.reflect.Method.invoke(Method.java:498) [JBossINF] at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168) [JBossINF] at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:859) [JBossINF] at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:628) [JBossINF] at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:617) [JBossINF] at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:542) [JBossINF] at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:238) [JBossINF] at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:862) [JBossINF] at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:635) [JBossINF] at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:585) [JBossINF] at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:451) [JBossINF] at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:108) [JBossINF] at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:103) [JBossINF] at org.wildfly.clustering.infinispan.spi.service.CacheBuilder.lambda$build$0(CacheBuilder.java:83) [JBossINF] at org.wildfly.clustering.service.SuppliedValueService.lambda$new$0(SuppliedValueService.java:42) [JBossINF] at org.wildfly.clustering.service.FunctionalValueService.start(FunctionalValueService.java:67) [JBossINF] at org.wildfly.clustering.service.AsynchronousServiceBuilder.lambda$start$0(AsynchronousServiceBuilder.java:99) [JBossINF] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [JBossINF] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [JBossINF] at java.lang.Thread.run(Thread.java:745) [JBossINF] at org.jboss.threads.JBossThread.run(JBossThread.java:320)
Full server log:
http://jenkins.hosts.mwqe.eng.bos.redhat.com/hudson/job/eap-7x-failover-db-session-shutdown-repl-sync-oracle-11gR2/6/console-dev212/
Infinispan subsystem configuration:
<subsystem xmlns="urn:jboss:domain:infinispan:4.0"> <cache-container name="server" aliases="singleton cluster" default-cache="default" module="org.wildfly.clustering.server"> <transport lock-timeout="60000" /> <replicated-cache name="default" mode="SYNC"> <transaction mode="BATCH" /> </replicated-cache> </cache-container> <cache-container name="web" default-cache="repl" module="org.wildfly.clustering.web.infinispan"> <transport lock-timeout="60000" /> <distributed-cache owners="2" name="dist" mode="SYNC" l1-lifespan="0"> <locking isolation="REPEATABLE_READ" /> <transaction mode="BATCH" /> <file-store /> </distributed-cache> <distributed-cache owners="2" name="concurrent" mode="SYNC" l1-lifespan="0"> <file-store /> </distributed-cache> <replicated-cache name="repl" mode="SYNC"> <locking isolation="REPEATABLE_READ" /> <transaction mode="BATCH" /> <file-store /> </replicated-cache> <replicated-cache name="offload" mode="SYNC"> <locking isolation="REPEATABLE_READ" /> <transaction mode="BATCH" /> <binary-keyed-jdbc-store data-source="testDS" preload="true" passivation="false" purge="false" shared="true"> <binary-keyed-table prefix="b"> <id-column name="id" type="VARCHAR(255)" /> <data-column name="datum" type="BLOB" /> <timestamp-column name="ver" type="NUMBER" /> </binary-keyed-table> </binary-keyed-jdbc-store> </replicated-cache> </cache-container> <cache-container name="ejb" aliases="sfsb" default-cache="dist" module="org.wildfly.clustering.ejb.infinispan"> <transport lock-timeout="60000" /> <distributed-cache owners="2" name="dist" mode="ASYNC" l1-lifespan="0"> <locking isolation="REPEATABLE_READ" /> <transaction mode="BATCH" /> <file-store /> </distributed-cache> <replicated-cache name="repl" mode="ASYNC"> <locking isolation="REPEATABLE_READ" /> <transaction mode="BATCH" /> <file-store /> </replicated-cache> </cache-container> <cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan"> <transport lock-timeout="60000" /> <local-cache name="local-query"> <eviction strategy="LRU" max-entries="10000" /> <expiration max-idle="100000" /> </local-cache> <invalidation-cache name="entity" mode="SYNC"> <transaction mode="NON_XA" /> <eviction strategy="LRU" max-entries="10000" /> <expiration max-idle="100000" /> </invalidation-cache> <replicated-cache name="timestamps" mode="ASYNC" /> </cache-container> </subsystem>