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

chunhui shen commented on HBASE-15314:
--------------------------------------

bq.but at least we can guarantee that every allocation will reside in its own 
file
I also have considered this scene, but seems not meaningful :
1. It will take an extra IO if  an allocation cross files, but the probability 
is about 32KB/320GB ≈ 1/10M ( example for block size 32KB, one file capacity 
320GB).  So,  I think it's no effect for perfomance
2. With crossing files allocation, no extra logic is needed if a single file 
fails due to an IO error.  We will free the whole alloction if failed ( see 
this logic from BucketCahe#writeToCache).

In addition,  it seems introducing an odd stuff which is not understandable 
easily for user , from the release notes:
{quote}
The first block is wasted (it is marked allocated). The worst case is 1 
'largest block' per file. If an allocation fails for any reason, all/any 
allocated blocks (including wasted ones) are freed again for subsequent 
allocation requests. This is very similar to a 'JBOD' configuration (there is 
no striping of any kind).
{quote}


> 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: Aaron Tokhy
>         Attachments: FileIOEngine.java, HBASE-15314.master.001.patch, 
> HBASE-15314.master.001.patch, HBASE-15314.patch, HBASE-15314-v2.patch, 
> HBASE-15314-v3.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