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

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

stack created HBASE-7909:
----------------------------

             Summary: 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