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

Phabricator commented on HBASE-5521:
------------------------------------

heyongqiang has commented on the revision "HBASE-5521 [jira] Move 
compression/decompression to an encoder specific encoding context".

INLINE COMMENTS
  
src/main/java/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.java:323-327
 good suggestion. i will change to use class for checking.

  Yes, we need to enforce that contains right now. Basically we want each 
encoder to use its own context object which is returned by 
newDataBlockEncodingContext()


  src/main/java/org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.java:58 
will remove the original method, and change all testcases to use the new api.

  src/main/java/org/apache/hadoop/hbase/io/encoding/EncodedDataBlock.java:53 
are you suggesting adding a new field Encoding to each encoder?
  i also think it is a good thing to do, but not sure the reason of why the 
current code not doing that.
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java:693 Good 
catch! this is a bug.
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java:811 good catch 
here. will assign to null.
  Initially i am doing that is because they are all defined as 'final'. will 
remove the final.
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java:1253 default 
is used for nondata block. I can not make them singleton as they need to 
maintain some reusable objects internally. By reusable objects, it is basically 
some buffers allocated once and can be reused across multiple operations.

  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java:1327-1328 
added back
  
src/main/java/org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoderImpl.java:194-195
 good catch. will add a class field to reuse it

REVISION DETAIL
  https://reviews.facebook.net/D2097

BRANCH
  svn

                
> Move compression/decompression to an encoder specific encoding context
> ----------------------------------------------------------------------
>
>                 Key: HBASE-5521
>                 URL: https://issues.apache.org/jira/browse/HBASE-5521
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: He Yongqiang
>            Assignee: He Yongqiang
>         Attachments: HBASE-5521.1.patch, HBASE-5521.D2097.1.patch
>
>
> As part of working on HBASE-5313, we want to add a new columnar 
> encoder/decoder. It makes sense to move compression to be part of 
> encoder/decoder:
> 1) a scanner for a columnar encoded block can do lazy decompression to a 
> specific part of a key value object
> 2) avoid an extra bytes copy from encoder to hblock-writer. 
> If there is no encoder specified for a writer, the HBlock.Writer will use a 
> default compression-context to do something very similar to today's code.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to