You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Matt Corgan (JIRA)" <ji...@apache.org> on 2013/02/22 23:46:14 UTC

[jira] [Commented] (HBASE-7909) How to figure if a Cell is deep or shallow.

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

Matt Corgan commented on HBASE-7909:
------------------------------------

{quote}This issue raises the problem but I do not think it critical we deal with it just now.{quote}Agree, for now we can just use KeyValueTool.ensureKeyValue(cell).  If we end up introducing more Cell implementations or things start getting more confusing in other ways we may need a new mechanism, but I don't think we've run into a problem yet.
                
> How to figure if a Cell is deep or shallow.
> -------------------------------------------
>
>                 Key: HBASE-7909
>                 URL: https://issues.apache.org/jira/browse/HBASE-7909
>             Project: HBase
>          Issue Type: Task
>            Reporter: stack
>            Priority: Minor
>
> The CellScanner interface is how you iterate scanners.  It is more bare bones than java Iterator, explicitly so, to minimize the need for retaining references to the current Cell.
> The Interface currently has get/current to pull the Cell that is currently loaded in the breech.  It also has (had) another method getDeepCopy.  This latter was removed by hbase-7899 "Tools to build cell blocks" as suggested by [~mcorgan] (and seconded by other reviewers in that they found it problematic).
> So, how then to determine if the Cell you have is a deep or shallow copy?
> On the one hand, should we even be concerned?  The whole point of our Cell retrofit, in part, is to force us disconnect from how the Cell is implemented so maybe we should just do away w/ this notion of deepCopy altogether and hope that  in action, we don't actually need it and that we our fixation is only because deepCopies is all we ever had when we were exclusively KeyValue.
> Or, do we need to add a means of asking a Cell "Are you deep?" or having deepCopies implement a subInterface -- StableCell or StandaloneCell?
> This issue raises the problem but I do not think it critical we deal with it just now.  At least, I do not see imminent need, at least not currently where we are still Cell backed by "deepCopy" KeyValues.  Maybe later when we have different implementations this issue will come to the fore.  Until then, am fine leaving it as minor.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira