On Sun, May 1, 2016 at 2:43 PM, Josh Elser <[email protected]> wrote:
> Folks -- > > Let's come up with a plan for Java 8 support. Do we bump minJdk for > accumulo-1.8.0 to 8? Should we fork a branch for 1.8 and make master > 2.0.0-SNAPSHOT (and do the bump there)? > > Other approaches? > I have two random things to mention about JDK8. All of the Accumulo cluster testing I have done recently on EC2 has used JDK8 w/o incident. In Fluo I have made changes to commit transactions in an asynchronous fashion. This had led to higher throughput and utilization. To do this I had to create some quasi async wrappers around the conditional writer and batch writer. These wrappers are sub-optimal. The only way to improve the situation would be to add async operations to the Accumulo API. While researching async API patterns, Christopher recommended I look into ListenableFuture[1] and CompletableFuture[2]. I have been using ListenableFuture internally in Fluo's implementation, however it seems like going forward that CompletableFuture is the way to go. If I were to work on Async API's for Accumulo, it would be really nice to use CompletableFuture, however that does not exist until JDK8. http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/util/concurrent/ListenableFuture.html https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html > - Josh > > -------- Original Message -------- > Subject: [jira] [Commented] (ACCUMULO-4177) TinyLFU-based BlockCache > Date: Sat, 30 Apr 2016 01:06:12 +0000 (UTC) > From: Ben Manes (JIRA) <[email protected]> > Reply-To: [email protected] > To: [email protected] > > > [ > https://issues.apache.org/jira/browse/ACCUMULO-4177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15265032#comment-15265032 > ] > > Ben Manes commented on ACCUMULO-4177: > ------------------------------------- > > I can put something together when Accumulo is ready to accept Java 8 > patches. Let me know. > > TinyLFU-based BlockCache >> ------------------------ >> >> Key: ACCUMULO-4177 >> URL: https://issues.apache.org/jira/browse/ACCUMULO-4177 >> Project: Accumulo >> Issue Type: Improvement >> Reporter: Ben Manes >> >> [LruBlockCache| >> https://github.com/apache/accumulo/blob/master/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/LruBlockCache.java] >> appears to be based on HBase's. I currently have a patch being reviewed in >> [HBASE-15560|https://issues.apache.org/jira/browse/HBASE-15560] that >> replaces the pseudo Segmented LRU with the TinyLFU eviction policy. That >> should allow the cache to make [better predictions| >> https://github.com/ben-manes/caffeine/wiki/Efficiency] based on >> frequency and recency, such as improved scan resistance. The implementation >> uses [Caffeine|https://github.com/ben-manes/caffeine], the successor to >> Guava's cache, to provide concurrency and keep the patch small. >> Full details are in the JIRA ticket. I think it should be easy to port if >> there is interest. >> > > > > -- > This message was sent by Atlassian JIRA > (v6.3.4#6332) >
