hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-13387) Add ServerCell an extension to Cell
Date Thu, 09 Apr 2015 17:38:12 GMT

    [ 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

View raw message