[ https://issues.apache.org/jira/browse/HBASE-14882?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15656453#comment-15656453 ]
Anoop Sam John commented on HBASE-14882: ---------------------------------------- So now we clearly know, why this API is not client end alone. The code paths within server also uses this API. eg: When adding to meta table, we make a put and add cells using this API. This happens within server end and the cell as such reaches region. We have assumptions abt the cell there. That it is having SettableSeqId implemented etc. So we can not just avoid that. Normal APIs in Put u can see create KeyValue and there u can see impl ExtendedCell instead of Cell. Ya this is because KV is used server end. We need cells flowing in server to be of this new type. As this new Cell impl also used in server side also, we can not avoid that also impl ExtendedCell !! May be need to add fat comment lines in the new class like above that why at client end, we have a Cell with ExtendedCell being used. Any way we have it in hbase-common. That is good. w dyt? > 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 > > > 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 (v6.3.4#6332)