[jira] [Commented] (CASSANDRA-14004) Increase Guava upstream version API compatibility

2017-11-08 Thread Thibault Kruse (JIRA)

[ 
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

2017-11-08 Thread Thibault Kruse (JIRA)
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

2017-11-07 Thread Thibault Kruse (JIRA)

[ 
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