[ 
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) [[email protected]] - 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)

Reply via email to