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

Anoop Sam John commented on HBASE-15314:
----------------------------------------

Amal said it.
The decision of where to write (I mean which offset) is being taken NOT within 
IOEngine impl but at BucketAllocator level.
It is NOT always true that we will 1st write and fill 1st file and then go to 
2nd.  There is a bucket allocation happening 1st.  The buckets will be having 
some fixed size. By default we have 4+1 KB, 8+1 KB... 512+1 KB sized buckets.  
(This is configurable)..  So we will make buckets and fix offset to each of 
these buckets.    When a new block comes to be cached, we will 1st see which 
bucket it can go. We will pick up a size which is least size with size >= block 
size.   And we will see within that where to write. This offset is being passed.
So in order to make sure we have equi distribution while writing blocks, we 
will need change in top layer of bucket allocator.
Ya once the cache is almost filled, the read will be distributed. Write happens 
in an async way. So perf gain because of parallel writes to diff disks might 
not be that relevant.   Ya still it will be best we can distribute load from 
begin and write load also..  

> Allow more than one backing file in bucketcache
> -----------------------------------------------
>
>                 Key: HBASE-15314
>                 URL: https://issues.apache.org/jira/browse/HBASE-15314
>             Project: HBase
>          Issue Type: Sub-task
>          Components: BucketCache
>            Reporter: stack
>            Assignee: Amal Joshy
>         Attachments: HBASE-15314.patch
>
>
> Allow bucketcache use more than just one backing file: e.g. chassis has more 
> than one SSD in it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to