[jira] [Commented] (CASSANDRA-14004) Increase Guava upstream version API compatibility
[ https://issues.apache.org/jira/browse/CASSANDRA-14004?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16245155#comment-16245155 ] Thibault Kruse commented on CASSANDRA-14004: fair enough, close if you want. Might still be worth thinking about how to deal with future guava incompatibilities for cassandra 4.x + > Increase Guava upstream version API compatibility > - > > Key: CASSANDRA-14004 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14004 > Project: Cassandra > Issue Type: Improvement >Reporter: Thibault Kruse >Priority: Minor > > Using cassandra-all as a java library has the downside that it uses guava 18 > methods that have been removed from more recent guava versions, causing users > to be forced to stick with Guava <= 19.0. > It would be nice for us if such method calls to guava could be replaced with > code of higher compatibility, for Casandra versions as far back as 3.0.x > As an example replacing code like this > Iterators.emptyIterator() > with > Collections.emptyIterator() > as done in > https://github.com/krummas/cassandra/commits/marcuse/guava23 > Ensuring any cassandra-release is API compatible with several guava versions > is more painful, possibly a blacklist of method calls can be used via > checkstyle to reduce the risk of re-introducing version specific calls to > guava methods. > Related to the Guava upgrade ticket: > https://issues.apache.org/jira/browse/CASSANDRA-13997 -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Created] (CASSANDRA-14004) Increase Guava upstream version API compatibility
Thibault Kruse created CASSANDRA-14004: -- Summary: Increase Guava upstream version API compatibility Key: CASSANDRA-14004 URL: https://issues.apache.org/jira/browse/CASSANDRA-14004 Project: Cassandra Issue Type: Improvement Reporter: Thibault Kruse Priority: Minor Using cassandra-all as a java library has the downside that it uses guava 18 methods that have been removed from more recent guava versions, causing users to be forced to stick with Guava <= 19.0. It would be nice for us if such method calls to guava could be replaced with code of higher compatibility, for Casandra versions as far back as 3.0.x As an example replacing code like this Iterators.emptyIterator() with Collections.emptyIterator() as done in https://github.com/krummas/cassandra/commits/marcuse/guava23 Ensuring any cassandra-release is API compatible with several guava versions is more painful, possibly a blacklist of method calls can be used via checkstyle to reduce the risk of re-introducing version specific calls to guava methods. Related to the Guava upgrade ticket: https://issues.apache.org/jira/browse/CASSANDRA-13997 -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13997) Upgrade guava to 23.3
[ https://issues.apache.org/jira/browse/CASSANDRA-13997?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16243295#comment-16243295 ] Thibault Kruse commented on CASSANDRA-13997: For us it would be nice if cassandra 3.x could be made API compatible with Guava > 19.0. Such as replacing Iterators.emptyIterator() with Collections.emptyIterator() as done in https://github.com/krummas/cassandra/commits/marcuse/guava23 This would not require changing the guava version, just abolishing certain usages of guava that have been deprecated. > Upgrade guava to 23.3 > - > > Key: CASSANDRA-13997 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13997 > Project: Cassandra > Issue Type: Improvement >Reporter: Marcus Eriksson >Assignee: Marcus Eriksson > Fix For: 4.x > > > For 4.0 we should upgrade guava to the latest version > patch here: https://github.com/krummas/cassandra/commits/marcuse/guava23 > A bunch of quite commonly used methods have been deprecated since guava 18 > which we use now ({{Throwables.propagate}} for example), this patch mostly > updates uses where compilation fails. {{Futures.transform(ListenableFuture > ..., AsyncFunction ...}} was deprecated in Guava 19 and removed in 20 for > example, we should probably open new tickets to remove calls to all > deprecated guava methods. > Also had to add a dependency on {{com.google.j2objc.j2objc-annotations}}, to > avoid some build-time warnings (maybe due to > https://github.com/google/guava/commit/fffd2b1f67d158c7b4052123c5032b0ba54a910d > ?) -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org