Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-11269

Too long identifiers for Oracle databases

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Minor Minor
    • None
    • 7.1.0.DR17, 7.1.0.DR18, 7.1.0.DR19
    • Clustering
    • None
    • Workaround Exists
    • Hide

      Renaming the archives to shorter names or upgrade to oracle version which support 128 byte keys (12.2 or higher, see https://docs.oracle.com/en/cloud/paas/exadata-express-cloud/csdbf/longer-identifier-names.html )

      Show
      Renaming the archives to shorter names or upgrade to oracle version which support 128 byte keys (12.2 or higher, see https://docs.oracle.com/en/cloud/paas/exadata-express-cloud/csdbf/longer-identifier-names.html )

      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>
      

              dcihak@redhat.com Daniel Cihak
              dcihak@redhat.com Daniel Cihak
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: