Mikhail Mazursky created CASSANDRA-6639:
-------------------------------------------
Summary: Update Guava to version 16
Key: CASSANDRA-6639
URL: https://issues.apache.org/jira/browse/CASSANDRA-6639
Project: Cassandra
Issue Type: Improvement
Components: Core
Reporter: Mikhail Mazursky
Priority: Trivial
Currently C* uses Guava 15. I tried to update my code to use Guava 16 and my
integration tests, that use C*, started to produce the following traces:
{noformat}
[INFO ] 10:00:12.600 [CompactionExecutor:2][][] ERROR CassandraDaemon:187 -
Exception in thread Thread[CompactionExecutor:2,1,main]
[INFO ] java.lang.NoSuchMethodError:
com.google.common.util.concurrent.RateLimiter.acquire(I)V
[INFO ] at
org.apache.cassandra.io.compress.CompressedThrottledReader.reBuffer(CompressedThrottledReader.java:40)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
org.apache.cassandra.io.util.RandomAccessReader.seek(RandomAccessReader.java:280)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.computeNext(SSTableScanner.java:256)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.computeNext(SSTableScanner.java:197)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
~[guava-16.0.jar:na]
[INFO ] at
com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
~[guava-16.0.jar:na]
[INFO ] at
org.apache.cassandra.io.sstable.SSTableScanner.hasNext(SSTableScanner.java:177)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:144)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
org.apache.cassandra.utils.MergeIterator$ManyToOne.<init>(MergeIterator.java:87)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
org.apache.cassandra.utils.MergeIterator.get(MergeIterator.java:46)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
org.apache.cassandra.db.compaction.CompactionIterable.iterator(CompactionIterable.java:47)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:129)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:197)
~[cassandra-all-2.0.4.jar:2.0.4]
[INFO ] at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
~[na:1.7.0_51]
[INFO ] at java.util.concurrent.FutureTask.run(FutureTask.java:262)
~[na:1.7.0_51]
[INFO ] at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
~[na:1.7.0_51]
[INFO ] at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[na:1.7.0_51]
[INFO ] at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
{noformat}
Exception does not influence the tests and they run ok, however this is
disturbing. The cause is that Guava changed the signature of the mentioned
method to return double instead of void in 16 release. So, can the dependency
be updated to avoid the inconvenience? Thanks.
p.s. I found a workaround for integration tests - just add the Guava 15
dependency to the cassandra-maven-plugin configuration as follows:
{code:xml}
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cassandra-maven-plugin</artifactId>
<version>2.0.0-1</version>
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>15.0</version>
</dependency>
</dependencies>
<plugin>
{code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)