[
https://issues.apache.org/jira/browse/HBASE-10801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13941459#comment-13941459
]
Matt Corgan commented on HBASE-10801:
-------------------------------------
I did some tinkering with this a while back, and the approach may be very
outdated, but I'll quickly point it out here. The DBE's maintain a
BufferedDataBlockEncoder.SeekerState which is a snapshot of a single decoded
KV/Cell that is ready to be sent up the read path.
In existing code, it gets deep-copied to a KeyValue:
https://github.com/apache/hbase/blob/0.98/hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.java
But I think SeekerState could be made to implement Cell and therefore we could
send a shallow-copied reference up the read path. This code is very old and
likely has parts that don't make sense or even compile, but hopefully it still
illustrates how SeekerState can extend Cell:
https://github.com/hotpads/hbase/blob/cell-seeker-state/hbase-server/src/main/java/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.java
I also remember trying two approaches with different strategies regarding when
to copy the primitive fields, and this one was slower, but I don't have the
faster one. Just throwing that out there in case there's merit to the overall
approach.
> Ensure DBE interfaces can work with Cell
> ----------------------------------------
>
> Key: HBASE-10801
> URL: https://issues.apache.org/jira/browse/HBASE-10801
> Project: HBase
> Issue Type: Sub-task
> Reporter: ramkrishna.s.vasudevan
> Fix For: 0.99.0
>
>
> Some changes to the interfaces may be needed for DBEs or may be the way it
> works currently may be need to be modified inorder to make DBEs work with
> Cells. Suggestions and ideas welcome.
--
This message was sent by Atlassian JIRA
(v6.2#6252)