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

Reply via email to