You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2014/06/05 18:52:02 UTC

[jira] [Resolved] (CASSANDRA-7358) Cassandra is still using guava 15

     [ https://issues.apache.org/jira/browse/CASSANDRA-7358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis resolved CASSANDRA-7358.
---------------------------------------

    Resolution: Won't Fix

2.1 is using guava 16, but we aren't going to risk regressions by changing in a 2.0 minor release.

> Cassandra is still using guava 15
> ---------------------------------
>
>                 Key: CASSANDRA-7358
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7358
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Alexander Radzin
>
> The problem is that Cassandra still depends on guava 15 while CQL Driver depends on guava 16. Attempts to run both in the same process (that is typical for embedding cassandra e.g. for unit tests) causes incompatibility problems:
> {noformat}
> java.lang.NoSuchMethodError: com.google.common.util.concurrent.RateLimiter.acquire(I)V
> 	at org.apache.cassandra.io.compress.CompressedThrottledReader.reBuffer(CompressedThrottledReader.java:40)
> 	at org.apache.cassandra.io.util.RandomAccessReader.seek(RandomAccessReader.java:280)
> 	at org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.computeNext(SSTableScanner.java:262)
> 	at org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.computeNext(SSTableScanner.java:203)
> 	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
> 	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
> 	at org.apache.cassandra.io.sstable.SSTableScanner.hasNext(SSTableScanner.java:183)
> 	at org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:144)
> 	at org.apache.cassandra.utils.MergeIterator$ManyToOne.<init>(MergeIterator.java:87)
> 	at org.apache.cassandra.utils.MergeIterator.get(MergeIterator.java:46)
> 	at org.apache.cassandra.db.compaction.CompactionIterable.iterator(CompactionIterable.java:47)
> 	at org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:129)
> 	at org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
> 	at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> 	at org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60)
> 	at org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59)
> 	at org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:198)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:744)
> {noformat}
> Method {{acquire()}} from class {{com.google.common.util.concurrent.RateLimiter}} accepts one {{int}} parameter but its return value changed. It was {{void}} but now it is {{double}}. As far as I understand this is the reason for attached exception.
> This problem does not allow us to upgrade CQL driver to version newer than {{2.0.0-rc2}}.



--
This message was sent by Atlassian JIRA
(v6.2#6252)