[
https://issues.apache.org/jira/browse/CALCITE-1715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15933476#comment-15933476
]
Michael Mior edited comment on CALCITE-1715 at 3/20/17 8:25 PM:
----------------------------------------------------------------
Bad news. The Cassandra driver appears to depend on Guava 16.0.1. It works with
18.0, but not with 20.0. This is due to {{Futures.transform}} being renamed to
{{Futures.transformAsync}} with the old name finally dropped in 20.0. Easiest
solution would be to upgrade to 19.0 instead of 20.0 for the time being.
(Assuming this doesn't cause any issues with the rest of Calcite.)
was (Author: michaelmior):
Bad news. The Cassandra driver appears to depend on Guava 16.0.1. It works with
18.0, but not with 20.0. This is due to {{Futures.transform}} being renamed to
{{Futures.transformAsync}} with the old name finally dropped in 20.0. Easiest
solution would be to upgrade to 19.0 instead of 20.0 for the time being.
> Cassandra adapter is broken by Guava change
> -------------------------------------------
>
> Key: CALCITE-1715
> URL: https://issues.apache.org/jira/browse/CALCITE-1715
> Project: Calcite
> Issue Type: Bug
> Components: cassandra
> Affects Versions: 1.12.0
> Reporter: Michael Mior
>
> The Cassandra driver appears to be incompatible with Guava 20. Works fine
> when downgrading to Guava 18. Stack trace of the exception produced when
> trying to connect via sqlline below:
> {noformat}
> java.lang.NoSuchMethodError:
> com.google.common.util.concurrent.Futures.transform(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/AsyncFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
> at com.datastax.driver.core.Connection.initAsync(Connection.java:182)
> at
> com.datastax.driver.core.Connection$Factory.open(Connection.java:796)
> at
> com.datastax.driver.core.ControlConnection.tryConnect(ControlConnection.java:253)
> at
> com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:201)
> at
> com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:79)
> at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1483)
> at com.datastax.driver.core.Cluster.init(Cluster.java:159)
> at com.datastax.driver.core.Cluster.connectAsync(Cluster.java:330)
> at com.datastax.driver.core.Cluster.connect(Cluster.java:280)
> at
> org.apache.calcite.adapter.cassandra.CassandraSchema.<init>(CassandraSchema.java:109)
> at
> org.apache.calcite.adapter.cassandra.CassandraSchemaFactory.create(CassandraSchemaFactory.java:40)
> at org.apache.calcite.model.ModelHandler.visit(ModelHandler.java:215)
> at
> org.apache.calcite.model.JsonCustomSchema.accept(JsonCustomSchema.java:45)
> at org.apache.calcite.model.ModelHandler.visit(ModelHandler.java:143)
> at org.apache.calcite.model.ModelHandler.<init>(ModelHandler.java:85)
> at org.apache.calcite.jdbc.Driver$1.onConnectionInit(Driver.java:104)
> at
> org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:145)
> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
> at
> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
> at sqlline.Commands.connect(Commands.java:1064)
> at sqlline.Commands.connect(Commands.java:996)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:809)
> at sqlline.SqlLine.begin(SqlLine.java:686)
> at sqlline.SqlLine.start(SqlLine.java:398)
> at sqlline.SqlLine.main(SqlLine.java:291)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)