-
Bug
-
Resolution: Done
-
Blocker
-
10.2.1
-
None
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:
[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
Perhaps we should include Guava 16 in a module as well and adjust the dependencies?
- is related to
-
TEIID-5435 Cassandra translator broken due to missing Guava dependency
- Resolved