hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-14882) Provide a Put API that adds the provided family, qualifier, value without copying
Date Fri, 02 Dec 2016 15:25:58 GMT

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

Anoop Sam John commented on HBASE-14882:

1.  Pls see ValueAndTagRewriteCell and how this write is handled
2. All these individual component byte[]s are independent byte[]s.  And we consider  java
array object overhead in heapSize(). This is actually overhead only..So we better consider
it in overhead. In case of KV#heapOverhead() we don't consider Array size because mostly many
KVs share same byte[].  Atleast in server side when we have it.  So this was removed to avoid
we overestimate heap size and overhead.  This was fixed recently.  But for this new Cell impl,
we must consider the array overheads as part of heapOverhead()
3. Hmm..  align() is ideally required..   Our bad.. missed some places// May be another issue
u can raise to fix all possible places?  Am sure many a places it might be missing!

> Provide a Put API that adds the provided family, qualifier, value without copying
> ---------------------------------------------------------------------------------
>                 Key: HBASE-14882
>                 URL: https://issues.apache.org/jira/browse/HBASE-14882
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 1.2.0
>            Reporter: Jerry He
>            Assignee: Xiang Li
>             Fix For: 2.0.0
>         Attachments: HBASE-14882.master.000.patch, HBASE-14882.master.001.patch, HBASE-14882.master.002.patch,
HBASE-14882.master.003.patch, HBASE-14882.master.004.patch
> In the Put API, we have addImmutable()
> {code}
>  /**
>    * See {@link #addColumn(byte[], byte[], byte[])}. This version expects
>    * that the underlying arrays won't change. It's intended
>    * for usage internal HBase to and for advanced client applications.
>    */
>   public Put addImmutable(byte [] family, byte [] qualifier, byte [] value)
> {code}
> But in the implementation, the family, qualifier and value are still being copied locally
to create kv.
> Hopefully we should provide an API that truly uses immutable family, qualifier and value.

This message was sent by Atlassian JIRA

View raw message