[ 
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)

Reply via email to