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

[jira] [Commented] (CASSANDRA-6639) Update Guava to version 16

    [ https://issues.apache.org/jira/browse/CASSANDRA-6639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13901656#comment-13901656 ] 

Kevin McLaughlin commented on CASSANDRA-6639:
---------------------------------------------

Any chance this could make it into the the 2.0 branch?

> 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
>            Assignee: Mikhail Stepura
>            Priority: Trivial
>             Fix For: 2.1
>
>         Attachments: trunk-6639.patch
>
>
> 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)