[
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)