[ 
https://issues.apache.org/jira/browse/HBASE-14307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Nauroth updated HBASE-14307:
----------------------------------
    Attachment: HBASE-14307.001.master.patch

I am attaching a patch.  This introduces a {{positionalReadWithExtra}} method 
that loops until completing the read.  This is similar to the existing 
{{readWithExtra}} method that's used in the seek + read code path.

I'm still looking into adding a unit test in {{TestHFileBlock}}.  I verified 
that the existing tests in that suite pass.

[~srevanka], would you be able to take this patch for a test run in your 
environment to verify that it works for your needs?  Thanks!

> Incorrect use of positional read api in HFileBlock
> --------------------------------------------------
>
>                 Key: HBASE-14307
>                 URL: https://issues.apache.org/jira/browse/HBASE-14307
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Shradha Revankar
>         Attachments: HBASE-14307.001.master.patch
>
>
> Considering that {{read()}} is not guaranteed to read all bytes, 
> I'm interested to understand this particular piece of code and why is partial 
> read treated as an error :
> https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java#L1446-L1450
> Particularly, if hbase were to use a different filesystem, say 
> WebhdfsFileSystem, this would not work, please also see 
> https://issues.apache.org/jira/browse/HDFS-8943 for discussion around this.



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

Reply via email to