Details
-
Improvement
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
-
None
Description
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:
[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]
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:
<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>
Attachments
Attachments
Issue Links
- is related to
-
CASSANDRA-7218 cassandra-all:2.1.0-beta1 maven dependency failing
- Resolved