[teiid-issues] [JBoss JIRA] (TEIID-5433) Cassandra resource adapter broken due to incompatible Guava version

Jan Martiska (JIRA) issues at jboss.org
Thu Jul 26 01:13:00 EDT 2018


Jan Martiska created TEIID-5433:
-----------------------------------

             Summary: Cassandra resource adapter broken due to incompatible Guava version
                 Key: TEIID-5433
                 URL: https://issues.jboss.org/browse/TEIID-5433
             Project: Teiid
          Issue Type: Bug
          Components: Misc. Connectors
    Affects Versions: 10.2.1
            Reporter: Jan Martiska
            Assignee: Steven Hawkins
            Priority: Blocker


We are using Cassandra driver 3.1.3, which normally has a dependency on Guava 16 (see https://github.com/datastax/java-driver/blob/3.1.3/pom.xml#L53), but in the Teiid distribution, there is Guava 20, which doesn't seem very backward compatible - the Cassandra driver doesn't work because it is missing a Guava class:

{noformat}
[mppr] 05:51:34,702 WARN  [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (Worker1_QueryProcessorQueue797) JTxNEwL2Xd29 IJ000604: Throwable while attempting to get a new connection: null: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/FutureFallback
[mppr] 	at org.teiid.resource.adapter.cassandra.CassandraConnectionImpl.<init>(CassandraConnectionImpl.java:51)
[mppr] 	at org.teiid.resource.adapter.cassandra.CassandraManagedConnectionFactory$1.getConnection(CassandraManagedConnectionFactory.java:44)
[mppr] 	at org.teiid.resource.adapter.cassandra.CassandraManagedConnectionFactory$1.getConnection(CassandraManagedConnectionFactory.java:41)
[mppr] 	at org.teiid.resource.spi.BasicManagedConnectionFactory.createManagedConnection(BasicManagedConnectionFactory.java:67)
[mppr] 	at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.createConnectionEventListener(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:1327)
[mppr] 	at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.getConnection(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:499)
[mppr] 	at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:632)
[mppr] 	at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:604)
[mppr] 	at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:624)
[mppr] 	at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:597)
[mppr] 	at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:789)
[mppr] 	at org.teiid.resource.spi.WrappedConnectionFactory.getConnection(WrappedConnectionFactory.java:54)
[mppr] 	at org.teiid.translator.ExecutionFactory.getConnection(ExecutionFactory.java:180)
[mppr] 	at org.teiid.translator.ExecutionFactory.getConnection(ExecutionFactory.java:201)
[mppr] 	at org.teiid.dqp.internal.datamgr.ConnectorManager.buildCapabilities(ConnectorManager.java:177)
[mppr] 	at org.teiid.dqp.internal.datamgr.ConnectorManager.getCapabilities(ConnectorManager.java:161)
[mppr] 	at org.teiid.dqp.internal.process.CachedFinder.findCapabilities(CachedFinder.java:104)
[mppr] 	at org.teiid.query.metadata.TempCapabilitiesFinder.findCapabilities(TempCapabilitiesFinder.java:77)
[mppr] 	at org.teiid.query.optimizer.relational.rules.CapabilitiesUtil.getCapabilities(CapabilitiesUtil.java:449)
[mppr] 	at org.teiid.query.optimizer.relational.rules.CapabilitiesUtil.supports(CapabilitiesUtil.java:469)
[mppr] 	at org.teiid.query.optimizer.relational.rules.CapabilitiesUtil.requiresCriteria(CapabilitiesUtil.java:454)
[mppr] 	at org.teiid.query.optimizer.relational.rules.RulePlaceAccess.addAccessNode(RulePlaceAccess.java:197)
[mppr] 	at org.teiid.query.optimizer.relational.rules.RulePlaceAccess.execute(RulePlaceAccess.java:82)
[mppr] 	at org.teiid.query.optimizer.relational.RelationalPlanner.executeRules(RelationalPlanner.java:1025)
[mppr] 	at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:228)
[mppr] 	at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:179)
[mppr] 	at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:458)
[mppr] 	at org.teiid.dqp.internal.process.Request.processRequest(Request.java:486)
[mppr] 	at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:660)
[mppr] 	at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:339)
[mppr] 	at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:47)
[mppr] 	at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:276)
[mppr] 	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:277)
[mppr] 	at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:115)
[mppr] 	at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:206)
[mppr] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[mppr] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[mppr] 	at java.lang.Thread.run(Thread.java:748)
[mppr] Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.FutureFallback from [Module "com.datastax.cassandra.driver.core" from local module loader @3834d63f (finder: local module finder @1ae369b7 (roots: /home/jmartisk/Workspace/jbossqe-whipper-tests/whipper-tests/../server-working-directory/modules,/home/jmartisk/Workspace/jbossqe-whipper-tests/whipper-tests/../server-working-directory/modules/system/layers/dv,/home/jmartisk/Workspace/jbossqe-whipper-tests/whipper-tests/../server-working-directory/modules/system/layers/base))]
[mppr] 	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
[mppr] 	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412)
[mppr] 	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400)
[mppr] 	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
[mppr] 	... 38 more
{noformat}

Perhaps we should include Guava 16 in a module as well and adjust the dependencies?



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the teiid-issues mailing list