hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Feinberg (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9855) evictBlocksByHfileName improvement for bucket cache
Date Tue, 29 Oct 2013 16:42:31 GMT

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

Alex Feinberg commented on HBASE-9855:
--------------------------------------

Some comments from me (original author of this code in 89-fb):

1) This should be annotated as Threadsafe
2) Nit-pick (this is my own typo): "comparator specified when the class instance was constructor"
-> "when the class instance was _constructed_"

Addressing Ted's comments:

1) [~tedyu@apache.org] - re: make DefaultValueSetFactory private -- Yes since it's static
inner class it might as well be private.

2) Depends -- you need to do ImmustableList.copyOf() for iteration. This is generally the
contract of most other collections in j.u which would thrown ConcurrentModificationException.
Returning the results as a set can make membership tests efficient. ImmutableList.copyOf is
used for iteration as that is the cheapest way to make a copy.

Other:

[~xieliang007] Can you look through the findbugs -- I'd think they are mostly red herrings,
but I'd double check if the equals/hashCode() ones are relevant. 

Thanks for porting this over!

> evictBlocksByHfileName improvement for bucket cache
> ---------------------------------------------------
>
>                 Key: HBASE-9855
>                 URL: https://issues.apache.org/jira/browse/HBASE-9855
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 0.98.0
>            Reporter: Liang Xie
>            Assignee: Liang Xie
>         Attachments: HBase-9855.txt, HBase-9855-v2.txt
>
>
> In deed, it comes from fb's l2 cache by [~avf]'s nice work,  i just did a simple backport
here. It could improve a linear-time search through the whole cache map into a log-access-time
map search.
> I did a small bench, showed it brings a bit gc overhead, but considering the evict on
close triggered by frequent compaction activity, seems reasonable?
> and i thought bring a "evictOnClose" config  into BucketCache ctor and only put/remove
the new index map while evictOnClose is true, seems this value could be set by each family
schema, but BucketCache is a global instance not per each family, so just ignore it rightnow...



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message