accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Keith Turner <ke...@deenlo.com>
Subject Re: [DISCUSS] Java 8 support (was Fwd: [jira] [Commented] (ACCUMULO-4177) TinyLFU-based BlockCache)
Date Mon, 02 May 2016 15:42:55 GMT
On Sun, May 1, 2016 at 2:43 PM, Josh Elser <josh.elser@gmail.com> 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) <jira@apache.org>
> Reply-To: jira@apache.org
> To: notifications@accumulo.apache.org
>
>
>     [
> 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)
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message