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

[QA](7.4.z) ISPN-12930 - Clustering: JDBC store using DB2 DB2 v11.1.1.1 doesn't work anymore

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 7.4.1.CR1, 7.4.1.GA
    • 7.4.0.Beta
    • Clustering
    • None

      The error is present in clustering tests where a JDBC store is used to offload web sessions which is connected to a DB2 v11.1.1.1 database using the latest supported JDBC driver (find it attached);

      The EAP cluster nodes are configured as follows:

      embed-server --server-config=standalone-ha.xml
      /subsystem=jgroups/channel=ee:write-attribute(name=stack,value=tcp)
      
      data-source add --name=testDS1 --jndi-name=java:jboss/datasources/testDS1 --driver-name=db2jcc4-v11.1.jar --connection-url=jdbc:db2://db2-111.hosts.mwqe.eng.bos.redhat.com:50000/dballo:traceDirectory=/tmp;traceFile=jcctrace-eap.log;traceLevel=2; --enabled=true --jta=true --use-java-context=true --transaction-isolation=TRANSACTION_READ_COMMITTED --min-pool-size=1 --max-pool-size=5 --pool-prefill=true --user-name=dballo14 --password=dballo14 --prepared-statements-cache-size=32 --share-prepared-statements=true
      
      /subsystem=infinispan/cache-container=web/invalidation-cache=offload:add()
      /subsystem=infinispan/cache-container=web/invalidation-cache=offload/store=jdbc:add(data-source=testDS,fetch-state=false,passivation=false,purge=false,shared=true,dialect=DB2){allow-resource-service-restart=true}
      /subsystem=infinispan/cache-container=web/invalidation-cache=offload/store=jdbc/table=string:write-attribute(name=id-column.name,value=id)
      /subsystem=infinispan/cache-container=web/invalidation-cache=offload/store=jdbc/table=string:write-attribute(name=data-column.name,value=datum)
      /subsystem=infinispan/cache-container=web/invalidation-cache=offload/store=jdbc/table=string:write-attribute(name=timestamp-column.name,value=version)
      /subsystem=infinispan/cache-container=web/invalidation-cache=offload/store=jdbc/table=string:write-attribute(name=id-column.type,value=VARCHAR(255))
      /subsystem=infinispan/cache-container=web/invalidation-cache=offload/store=jdbc/table=string:write-attribute(name=timestamp-column.type,value=BIGINT)
      /subsystem=infinispan/cache-container=web/invalidation-cache=offload/store=jdbc/table=string:write-attribute(name=data-column.type,value=BLOB(1000))
      /subsystem=infinispan/cache-container=web:write-attribute(name=default-cache, value=offload)
      /subsystem=transactions:write-attribute(name=node-identifier,value=wildfly1)
      

      please note tracing is enabled to gather info;

      When we deploy the attached application (cbnc.ear) we see the following error (looks like it cannot find table dballo14.ispn_entry_cbnc_ear_a_war):

      11:32:11,784 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 84) MSC000001: Failed to start service jboss.deployment.subunit."cbnc.ear"."a.war".undertow-deployment: org.jboss.msc.service.StartException in service jboss.deployment.subunit."cbnc.ear"."a.war".undertow-deployment: java.lang.RuntimeException: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=dballo14.ispn_entry_cbnc_ear_a_war, DRIVER=4.25.23
      	at org.wildfly.extension.undertow@7.4.0.Beta-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentService.run(UndertowDeploymentService.java:81)
      	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at java.base/java.lang.Thread.run(Thread.java:834)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.JBossThread.run(JBossThread.java:513)
      Caused by: java.lang.RuntimeException: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=dballo14.ispn_entry_cbnc_ear_a_war, DRIVER=4.25.23
      	at io.reactivex.rxjava3.rxjava@3.0.8.redhat-00001//io.reactivex.rxjava3.internal.util.ExceptionHelper.wrapOrThrow(ExceptionHelper.java:46)
      	at io.reactivex.rxjava3.rxjava@3.0.8.redhat-00001//io.reactivex.rxjava3.internal.operators.flowable.BlockingFlowableIterable$BlockingFlowableIterator.hasNext(BlockingFlowableIterable.java:90)
      	at org.infinispan.commons@11.0.8.Final-redhat-00001//org.infinispan.commons.util.Closeables.hasNext(Closeables.java:247)
      	at org.infinispan@11.0.8.Final-redhat-00001//org.infinispan.util.LazyConcatIterator.hasNext(LazyConcatIterator.java:47)
      	at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1811)
      	at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState(StreamSpliterators.java:294)
      	at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206)
      	at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:161)
      	at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300)
      	at java.base/java.util.SpliteratorsAdapter.hasNext(Spliterators.java:681)
      	at org.wildfly.clustering.ee.infinispan@7.4.0.Beta-redhat-00001//org.wildfly.clustering.ee.infinispan.scheduler.ScheduleLocalKeysTask.accept(ScheduleLocalKeysTask.java:57)
      	at org.wildfly.clustering.ee.infinispan@7.4.0.Beta-redhat-00001//org.wildfly.clustering.ee.infinispan.scheduler.ScheduleLocalKeysTask.accept(ScheduleLocalKeysTask.java:41)
      	at org.wildfly.clustering.web.infinispan@7.4.0.Beta-redhat-00001//org.wildfly.clustering.web.infinispan.session.InfinispanSessionManagerFactory.run(InfinispanSessionManagerFactory.java:113)
      	at org.wildfly.clustering.web.infinispan@7.4.0.Beta-redhat-00001//org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager.start(InfinispanSessionManager.java:141)
      	at org.wildfly.clustering.web.cache@7.4.0.Beta-redhat-00001//org.wildfly.clustering.web.cache.session.ConcurrentSessionManager.start(ConcurrentSessionManager.java:93)
      	at org.wildfly.clustering.web.undertow@7.4.0.Beta-redhat-00001//org.wildfly.clustering.web.undertow.session.DistributableSessionManager.start(DistributableSessionManager.java:89)
      	at io.undertow.servlet@2.2.3.SP1-redhat-00001//io.undertow.servlet.core.DeploymentManagerImpl.call(DeploymentManagerImpl.java:562)
      	at io.undertow.servlet@2.2.3.SP1-redhat-00001//io.undertow.servlet.core.DeploymentManagerImpl.call(DeploymentManagerImpl.java:559)
      	at io.undertow.servlet@2.2.3.SP1-redhat-00001//io.undertow.servlet.core.ServletRequestContextThreadSetupAction.call(ServletRequestContextThreadSetupAction.java:42)
      	at io.undertow.servlet@2.2.3.SP1-redhat-00001//io.undertow.servlet.core.ContextClassLoaderSetupAction.call(ContextClassLoaderSetupAction.java:43)
      	at org.wildfly.extension.undertow@7.4.0.Beta-redhat-00001//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create(SecurityContextThreadSetupAction.java:105)
      	at org.wildfly.extension.undertow@7.4.0.Beta-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create(UndertowDeploymentInfoService.java:1530)
      	at org.wildfly.extension.undertow@7.4.0.Beta-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create(UndertowDeploymentInfoService.java:1530)
      	at org.wildfly.extension.undertow@7.4.0.Beta-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create(UndertowDeploymentInfoService.java:1530)
      	at org.wildfly.extension.undertow@7.4.0.Beta-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create(UndertowDeploymentInfoService.java:1530)
      	at io.undertow.servlet@2.2.3.SP1-redhat-00001//io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:601)
      	at org.wildfly.extension.undertow@7.4.0.Beta-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:97)
      	at org.wildfly.extension.undertow@7.4.0.Beta-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentService.run(UndertowDeploymentService.java:78)
      	... 8 more
      Caused by: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=dballo14.ispn_entry_cbnc_ear_a_war, DRIVER=4.25.23
      

      I we look inside the DB2 database we can find the ISPN_ENTRY_CBNC_EAR_A_WARS table in the correct schema dballo14, but the table is missing the data-column named datum:

      CREATE TABLE ISPN_ENTRY_CBNC_EAR_A_WARS
      (
         ID bigint PRIMARY KEY NOT NULL,
         TIME bigint,
         BROKER_NAME blob(1048576)
      )
      ;
      CREATE UNIQUE INDEX SQL210325100147330 ON ISPN_ENTRY_CBNC_EAR_A_WARS(ID)
      ;
      

      We don't have this error when using the same EAP version with DB2 10.5 and the relative diver (find it attached - db2jcc4-v10.5.jar);

      We see two errors here:

      • the table is missing the datum column
      • the table is selected with the wrong name: there is an extra s at the end (ISPN_ENTRY_CBNC_EAR_A_WARS, ispn_entry_cbnc_ear_a_war)

        1. cbnc.ear
          65 kB
        2. db2jcc4-v10.5.jar
          4.04 MB
        3. db2jcc4-v11.1.jar
          4.04 MB

              thofman Tomas Hofman
              tborgato@redhat.com Tommaso Borgato
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: