Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-12889

Clustering: java.lang.ClassCastException when SYBASE is used as invalidation-cache

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 28.0.0.Beta1
    • Clustering
    • None
    • Hide
      Show
      config server using attached config.cli copy sybase-connector.jar into standalone/deployments/ copy cbnc.ear into standalone/deployments/ start server "standalone.sh --server-config=standalone-ha.xml" http://127.0.0.1:8080/clusterbench/session

      The error happens when using relational database SYBASE as invalidation cache for storing HTTP session data;
      EAP is configured as follows:

      embed-server --server-config=standalone-ha.xml
      /subsystem=jgroups/channel=ee:write-attribute(name=stack,value=tcp)
      /subsystem=infinispan/cache-container=web/invalidation-cache=offload:add()
      /subsystem=infinispan/cache-container=web/invalidation-cache==offload/component=transaction:write-attribute(name=mode, value=BATCH)
      /subsystem=infinispan/cache-container=web/invalidation-cache=offload/component=locking:write-attribute(name=isolation, value=REPEATABLE_READ)
      data-source add --name=testDS --jndi-name=java:jboss/datasources/testDS --driver-name=sybase-connector.jar --connection-url=jdbc:sybase:Tds:sybase-160.hosts.mwqe.eng.bos.redhat.com:5000/dballo03 --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=dballo03 --password=dballo03 --prepared-statements-cache-size=32 --share-prepared-statements=true
      /subsystem=infinispan/cache-container=web/invalidation-cache=offload/store=jdbc:add(data-source=testDS,fetch-state=false,passivation=false,purge=false,shared=true,dialect=SYBASE){allow-resource-service-restart=true}
      /subsystem=infinispan/cache-container=web/invalidation-cache=offload/store=jdbc/table=string:write-attribute(name=prefix,value=s)
      /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=id-column.type,value=VARCHAR(255))
      /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=data-column.type,value=IMAGE)
      /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=timestamp-column.type,value=BIGINT)
      /subsystem=infinispan/cache-container=web:write-attribute(name=default-cache, value=offload)
      /subsystem=transactions:write-attribute(name=node-identifier,value=wildfly3)
      

      As soon as the first HTTP request is sent to server we get the following:

      2019-12-17 08:36:13,821 INFO  [org.jboss.test.clusterbench.common.session.CommonHttpSessionServlet] (default task-1) New session created: mVGeUKuqqi-DZJdRTEiT7hxq9XVu_beIprUvi3to with 4kB cargo
      2019-12-17 08:36:14,156 WARN  [org.jboss.jca.core.connectionmanager.listener.TxConnectionListener] (default task-1) IJ000305: Connection error occured: org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@26270b42[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@11ee2446 connection handles=1 lastReturned=1576571773800 lastValidated=1576571714494 lastCheckedOut=1576571774106 trackByTx=false pool=org.jboss.jca.core.connectionmanager.pool.strategy.OnePool@48ad5723 mcp=SemaphoreConcurrentLinkedQueueManagedConnectionPool@38a84373[pool=testDS] xaResource=LocalXAResourceImpl@56beec82[connectionListener=26270b42 connectionManager=26eda85 warned=false currentXid=null productName=Adaptive Server Enterprise productVersion=16.0.02.05 jndiName=java:jboss/datasources/testDS] txSync=null]: java.lang.ClassCastException: class java.io.ByteArrayInputStream cannot be cast to class com.sybase.jdbc4.jdbc.SybLob (java.io.ByteArrayInputStream is in module java.base of loader 'bootstrap'; com.sybase.jdbc4.jdbc.SybLob is in unnamed module of loader 'deployment.sybase-connector.jar' @4b04036f)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.tds.TdsParam.prepareForSend(TdsParam.java:229)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.jdbc.ParamManager.checkParams(ParamManager.java:1179)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.tds.Tds.sendDynamicExecuteParams(Tds.java:1499)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.tds.Tds.dynamicExecute(Tds.java:1403)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.jdbc.SybPreparedStatement.sendQuery(SybPreparedStatement.java:2887)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.jdbc.SybStatement.sendBatch(SybStatement.java:1922)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.jdbc.SybStatement.executeBatch(SybStatement.java:1881)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.jdbc.SybStatement.executeBatch(SybStatement.java:1799)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.jdbc.SybPreparedStatement.executeBatch(SybPreparedStatement.java:1831)
      	at org.jboss.ironjacamar.jdbcadapters@1.4.19.Final-redhat-00001//org.jboss.jca.adapters.jdbc.CachedPreparedStatement.executeBatch(CachedPreparedStatement.java:714)
      	at org.jboss.ironjacamar.jdbcadapters@1.4.19.Final-redhat-00001//org.jboss.jca.adapters.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:1180)
      	at org.infinispan.persistence.jdbc@9.4.16.Final-redhat-00002//org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore.writeBatch(JdbcStringBasedStore.java:302)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.persistence.manager.PersistenceManagerImpl.lambda$writeBatchToAllNonTxStores$17(PersistenceManagerImpl.java:718)
      	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
      	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
      	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
      	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654)
      	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
      	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
      	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
      	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
      	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.persistence.manager.PersistenceManagerImpl.writeBatchToAllNonTxStores(PersistenceManagerImpl.java:718)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.CacheWriterInterceptor.store(CacheWriterInterceptor.java:410)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.CacheWriterInterceptor.commitCommand(CacheWriterInterceptor.java:128)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.CacheWriterInterceptor.visitPrepareCommand(CacheWriterInterceptor.java:114)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.DDAsyncInterceptor.visitPrepareCommand(DDAsyncInterceptor.java:132)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenAccept(BaseAsyncInterceptor.java:98)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.EntryWrappingInterceptor.prepareHandler(EntryWrappingInterceptor.java:178)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.EntryWrappingInterceptor.wrapEntriesForPrepareAndApply(EntryWrappingInterceptor.java:847)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitPrepareCommand(EntryWrappingInterceptor.java:173)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.DDAsyncInterceptor.visitPrepareCommand(DDAsyncInterceptor.java:132)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenAccept(BaseAsyncInterceptor.java:98)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.NotificationInterceptor.visitPrepareCommand(NotificationInterceptor.java:41)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenAccept(BaseAsyncInterceptor.java:98)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.locking.PessimisticLockingInterceptor.visitPrepareCommand(PessimisticLockingInterceptor.java:120)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.TxInterceptor.handlePrepareCommand(TxInterceptor.java:158)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.TxInterceptor.visitPrepareCommand(TxInterceptor.java:127)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:183)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.statetransfer.StateTransferInterceptor.handleTxCommand(StateTransferInterceptor.java:203)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.statetransfer.StateTransferInterceptor.visitPrepareCommand(StateTransferInterceptor.java:69)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:123)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:56)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.BatchingInterceptor.handleDefault(BatchingInterceptor.java:69)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.DDAsyncInterceptor.visitPrepareCommand(DDAsyncInterceptor.java:132)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:50)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:248)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.transaction.impl.TransactionCoordinator.commit(TransactionCoordinator.java:156)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.transaction.impl.TransactionTable.afterCompletion(TransactionTable.java:861)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.transaction.synchronization.SynchronizationAdapter.afterCompletion(SynchronizationAdapter.java:33)
      	at org.infinispan.commons@9.4.16.Final-redhat-00002//org.infinispan.commons.tx.TransactionImpl.notifyAfterCompletion(TransactionImpl.java:512)
      	at org.infinispan.commons@9.4.16.Final-redhat-00002//org.infinispan.commons.tx.TransactionImpl.runCommit(TransactionImpl.java:338)
      	at org.infinispan.commons@9.4.16.Final-redhat-00002//org.infinispan.commons.tx.TransactionImpl.commit(TransactionImpl.java:110)
      	at org.wildfly.clustering.ee.cache@7.3.0.GA-redhat-00001//org.wildfly.clustering.ee.cache.tx.TransactionalBatch.close(TransactionalBatch.java:98)
      	at org.wildfly.clustering.web.undertow@7.3.0.GA-redhat-00001//org.wildfly.clustering.web.undertow.session.DistributableSession.requestDone(DistributableSession.java:87)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.spec.ServletContextImpl.updateSessionAccessTime(ServletContextImpl.java:950)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:627)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:328)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
      	at org.wildfly.extension.undertow@7.3.0.GA-redhat-00001//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
      	at org.wildfly.extension.undertow@7.3.0.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
      	at org.wildfly.extension.undertow@7.3.0.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
      	at org.wildfly.extension.undertow@7.3.0.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
      	at org.wildfly.extension.undertow@7.3.0.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
      	at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.server.Connectors.executeRootHandler(Connectors.java:376)
      	at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
      	at org.jboss.threads@2.3.3.Final-redhat-00001//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads@2.3.3.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
      	at org.jboss.threads@2.3.3.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads@2.3.3.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at java.base/java.lang.Thread.run(Thread.java:834)
      
      2019-12-17 08:36:15,174 ERROR [org.infinispan.interceptors.impl.InvocationContextInterceptor] (default task-1) ISPN000136: Error executing command PrepareCommand on Cache 'cbnc.ear.a.war', writing keys [SessionAccessMetaDataKey(mVGeUKuqqi-DZJdRTEiT7hxq9XVu_beIprUvi3to), SessionCreationMetaDataKey(mVGeUKuqqi-DZJdRTEiT7hxq9XVu_beIprUvi3to), SessionAttributesKey(mVGeUKuqqi-DZJdRTEiT7hxq9XVu_beIprUvi3to)]: org.infinispan.persistence.spi.PersistenceException: ISPN008037: Error while writing entries in batch to the database:
      	at org.infinispan.persistence.jdbc@9.4.16.Final-redhat-00002//org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore.writeBatch(JdbcStringBasedStore.java:305)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.persistence.manager.PersistenceManagerImpl.lambda$writeBatchToAllNonTxStores$17(PersistenceManagerImpl.java:718)
      	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
      	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
      	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
      	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654)
      	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
      	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
      	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
      	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
      	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.persistence.manager.PersistenceManagerImpl.writeBatchToAllNonTxStores(PersistenceManagerImpl.java:718)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.CacheWriterInterceptor.store(CacheWriterInterceptor.java:410)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.CacheWriterInterceptor.commitCommand(CacheWriterInterceptor.java:128)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.CacheWriterInterceptor.visitPrepareCommand(CacheWriterInterceptor.java:114)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.DDAsyncInterceptor.visitPrepareCommand(DDAsyncInterceptor.java:132)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenAccept(BaseAsyncInterceptor.java:98)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.EntryWrappingInterceptor.prepareHandler(EntryWrappingInterceptor.java:178)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.EntryWrappingInterceptor.wrapEntriesForPrepareAndApply(EntryWrappingInterceptor.java:847)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitPrepareCommand(EntryWrappingInterceptor.java:173)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.DDAsyncInterceptor.visitPrepareCommand(DDAsyncInterceptor.java:132)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenAccept(BaseAsyncInterceptor.java:98)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.NotificationInterceptor.visitPrepareCommand(NotificationInterceptor.java:41)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenAccept(BaseAsyncInterceptor.java:98)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.locking.PessimisticLockingInterceptor.visitPrepareCommand(PessimisticLockingInterceptor.java:120)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.TxInterceptor.handlePrepareCommand(TxInterceptor.java:158)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.TxInterceptor.visitPrepareCommand(TxInterceptor.java:127)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:183)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.statetransfer.StateTransferInterceptor.handleTxCommand(StateTransferInterceptor.java:203)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.statetransfer.StateTransferInterceptor.visitPrepareCommand(StateTransferInterceptor.java:69)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:123)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:56)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.BatchingInterceptor.handleDefault(BatchingInterceptor.java:69)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.DDAsyncInterceptor.visitPrepareCommand(DDAsyncInterceptor.java:132)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:187)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:50)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:248)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.transaction.impl.TransactionCoordinator.commit(TransactionCoordinator.java:156)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.transaction.impl.TransactionTable.afterCompletion(TransactionTable.java:861)
      	at org.infinispan@9.4.16.Final-redhat-00002//org.infinispan.transaction.synchronization.SynchronizationAdapter.afterCompletion(SynchronizationAdapter.java:33)
      	at org.infinispan.commons@9.4.16.Final-redhat-00002//org.infinispan.commons.tx.TransactionImpl.notifyAfterCompletion(TransactionImpl.java:512)
      	at org.infinispan.commons@9.4.16.Final-redhat-00002//org.infinispan.commons.tx.TransactionImpl.runCommit(TransactionImpl.java:338)
      	at org.infinispan.commons@9.4.16.Final-redhat-00002//org.infinispan.commons.tx.TransactionImpl.commit(TransactionImpl.java:110)
      	at org.wildfly.clustering.ee.cache@7.3.0.GA-redhat-00001//org.wildfly.clustering.ee.cache.tx.TransactionalBatch.close(TransactionalBatch.java:98)
      	at org.wildfly.clustering.web.undertow@7.3.0.GA-redhat-00001//org.wildfly.clustering.web.undertow.session.DistributableSession.requestDone(DistributableSession.java:87)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.spec.ServletContextImpl.updateSessionAccessTime(ServletContextImpl.java:950)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:627)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:328)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
      	at org.wildfly.extension.undertow@7.3.0.GA-redhat-00001//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
      	at org.wildfly.extension.undertow@7.3.0.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
      	at org.wildfly.extension.undertow@7.3.0.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
      	at org.wildfly.extension.undertow@7.3.0.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
      	at org.wildfly.extension.undertow@7.3.0.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
      	at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
      	at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.server.Connectors.executeRootHandler(Connectors.java:376)
      	at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
      	at org.jboss.threads@2.3.3.Final-redhat-00001//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads@2.3.3.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
      	at org.jboss.threads@2.3.3.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads@2.3.3.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at java.base/java.lang.Thread.run(Thread.java:834)
      Caused by: java.sql.SQLException: Error
      	at org.jboss.ironjacamar.jdbcadapters@1.4.19.Final-redhat-00001//org.jboss.jca.adapters.jdbc.WrappedConnection.checkException(WrappedConnection.java:2046)
      	at org.jboss.ironjacamar.jdbcadapters@1.4.19.Final-redhat-00001//org.jboss.jca.adapters.jdbc.WrappedStatement.checkException(WrappedStatement.java:1436)
      	at org.jboss.ironjacamar.jdbcadapters@1.4.19.Final-redhat-00001//org.jboss.jca.adapters.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:1184)
      	at org.infinispan.persistence.jdbc@9.4.16.Final-redhat-00002//org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore.writeBatch(JdbcStringBasedStore.java:302)
      	... 82 more
      Caused by: java.lang.ClassCastException: class java.io.ByteArrayInputStream cannot be cast to class com.sybase.jdbc4.jdbc.SybLob (java.io.ByteArrayInputStream is in module java.base of loader 'bootstrap'; com.sybase.jdbc4.jdbc.SybLob is in unnamed module of loader 'deployment.sybase-connector.jar' @4b04036f)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.tds.TdsParam.prepareForSend(TdsParam.java:229)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.jdbc.ParamManager.checkParams(ParamManager.java:1179)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.tds.Tds.sendDynamicExecuteParams(Tds.java:1499)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.tds.Tds.dynamicExecute(Tds.java:1403)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.jdbc.SybPreparedStatement.sendQuery(SybPreparedStatement.java:2887)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.jdbc.SybStatement.sendBatch(SybStatement.java:1922)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.jdbc.SybStatement.executeBatch(SybStatement.java:1881)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.jdbc.SybStatement.executeBatch(SybStatement.java:1799)
      	at deployment.sybase-connector.jar//com.sybase.jdbc4.jdbc.SybPreparedStatement.executeBatch(SybPreparedStatement.java:1831)
      	at org.jboss.ironjacamar.jdbcadapters@1.4.19.Final-redhat-00001//org.jboss.jca.adapters.jdbc.CachedPreparedStatement.executeBatch(CachedPreparedStatement.java:714)
      	at org.jboss.ironjacamar.jdbcadapters@1.4.19.Final-redhat-00001//org.jboss.jca.adapters.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:1180)
      	... 83 more
      

      We used Java 11.0.4:

      [hudson@eap-clustering-net3-7 ~]$ java -version
      java version "11.0.4" 2019-07-16 LTS
      Java(TM) SE Runtime Environment 18.9 (build 11.0.4+10-LTS)
      Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.4+10-LTS, mixed mode)
      

      We used the following driver and database:

      The table objects are present in the DB, e.g.:

      CREATE TABLE "dballo03"."s_cbnc_ear_a_war"
      (
         id varchar(255) PRIMARY KEY NOT NULL,
         datum image NOT NULL,
         version numeric(19) NOT NULL
      )
      GO
      CREATE UNIQUE INDEX s_cbnc_ear_17249837532 ON "dballo03"."s_cbnc_ear_a_war"(id)
      GO
      CREATE INDEX s_cbnc_ear_a_war_timestamp_index ON "dballo03"."s_cbnc_ear_a_war"(version)
      GO
      

      Complete logs attached in the liked issue.

      The issue has been files as blocker because we don't have a workaround at the moment and SYBASE is one of the supported databases

        1. cbnc.ear
          67 kB
        2. config.cli
          2 kB
        3. sybase-connector.jar
          1.92 MB
        4. server-VARBINARY.log
          72 kB
        5. server-IMAGE.log
          38 kB

              pferraro@redhat.com Paul Ferraro
              tborgato@redhat.com Tommaso Borgato
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: