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

stack commented on HBASE-13387:
-------------------------------

Patch is smaller (smile)

>From ColumnPrefixFilter

    // TODO have a method CellComparator.compareQualifier(Cell, byte[])

Lets see if static invocation is right thing to do. Later we may find that 
ColumnPrefixFilter needs to use a factory to get appropriate Comparator. Lets 
see.

bq.        * @deprecated Instead use {@link #filterRowKey(Cell)}

Above is good.

This will change, right, because it is byte array based?

62        @Override
63        public boolean filterRowKey(Cell cell) throws IOException {
64          return filterRowKey(cell.getRowArray(), cell.getRowOffset(), 
cell.getRowLength());
65        }

CellUtil is going to get ugly (smile) but this is better direction IMO getting 
the mess all into one place. CellUtil needs an edit and cleanup anyways.

Just a thought, could BufferedCell be under regionserver package? Or its needed 
by CellUtil?  It should be ByteBufferedCell? I go to Cell for lengths? And 
since Cell has getRowArray, here it should be getRowByteBuffer?  
getRowByteBufferPosition?  Or BBCell might be ok because these all private... 
so getRowBB and getRowBBPosition.

Make this read-only 494   public static final ByteBuffer EMPTY_BB = 
ByteBuffer.wrap(HConstants.EMPTY_BYTE_ARRAY);

Do we have to do this boolean for tags?

28        long stream(OutputStream out, boolean withTags) throws IOException;

They are integral.  If present, we write them out, otherwise not?

I read through half. It seems better to me. What you think?







> Add ServerCell an extension to Cell
> -----------------------------------
>
>                 Key: HBASE-13387
>                 URL: https://issues.apache.org/jira/browse/HBASE-13387
>             Project: HBase
>          Issue Type: Sub-task
>          Components: regionserver, Scanners
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>         Attachments: WIP_HBASE-13387_V2.patch, WIP_ServerCell.patch
>
>
> This came in btw the discussion abt the parent Jira and recently Stack added 
> as a comment on the E2E patch on the parent Jira.
> The idea is to add a new Interface 'ServerCell'  in which we can add new 
> buffer based getter APIs, hasArray API etc.  We will keep this interface 
> @InterfaceAudience.Private
> Also we have to change the timestamp and seqId on Cells in server side. We 
> have added new interfaces SettableSequenceId, SettableTimestamp for this. Now 
> if we can add a ServerCell we can add the setter APIs there.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to