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