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

Steve Loughran commented on HBASE-22005:
----------------------------------------

I think you'll need a plan to continue to work with stores which don't support 
BB; that includes object stores which ship with HBase support today (hello 
Azure!) and whose users will be unhappy when things not working. 

bq. I still think those basic fs, such as LocalFileSystem/DistributedFileSystem 
need the ByteBuffer read/pread method, it's so common to use 

I see the world moving away from Posix in two directions

* near-RAM-speed solid state storage. Here memory access operations make a lot 
more sense than the stream API, because in hardware these can be part of the 
memory space of the application. Why copy it into  process memory at all, when 
it can just be memory mapped?

* object storage. Here we go the other way - high latency IO where the cost of 
a seek() is such that you can see the logs pause and you'll know "hey! it's a 
GET". There we're looking at async IO APIs, vectored IO ops etc. I don't expect 
stores to implement ByteBufferReadable; async vector reads where you provide a 
list of <offset, len, dest[]) operations, the client farms then out as a series 
of ranged (possibly coalesced) GETs on a pooled HTTPS connections and you get 
them back in the order the store feels like.

I think both are valid stores of data. InputStream is one which kind-of-works, 
but its not ideal for both. 

Having it in localFS (which implies, checksumfs as well as RawLocalFS), would 
be handy for testing, but for that kind of testing: best to create a static 
miniHDFS cluster and play with that. Please: don't make the leap to 
ByteBufferReadable and expect all filesystems to follow. There's more out there 
than even ships in hadoop's own JARs

> Use ByteBuff's refcnt to track the life cycle of data block
> -----------------------------------------------------------
>
>                 Key: HBASE-22005
>                 URL: https://issues.apache.org/jira/browse/HBASE-22005
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Zheng Hu
>            Assignee: Zheng Hu
>            Priority: Major
>         Attachments: HBASE-22005.HBASE-21879.v1.patch
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to