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

Jesse Yates edited comment on HBASE-9834 at 10/29/13 1:43 AM:
--------------------------------------------------------------

Attaching updated 0.94 patch. This is the simple, non-invasive update that 
keeps with the original "just add support" approach, rather than completely 
re-writing keyvalue.

This patch removes the default to ClientKeyValue in Put/Delete creation (so 
everything is again just a KeyValue by default) from the last patch

Other notable changes were necessary though in testing (added a few more) to 
allow a ClientKeyValue to work. For instance, Delete#addDeleteMarker only 
supported adding KeyValue.Type.Delete, but really should support all the delete 
types. Also, needed to fix the row comparison exception since it expects 
KeyValue to be backed by a buffer when printing the error message.


was (Author: jesse_yates):
Attaching updated 0.94 patch.

Removes the default to ClientKeyValue in Put/Delete creation (so everything is 
again just a KeyValue).

Other notable changes were necessary though in testing (added a few more) to 
allow a ClientKeyValue to work. For instance, Delete#addDeleteMarker only 
supported adding KeyValue.Type.Delete, but really should support all the delete 
types. Also, needed to fix the row comparison exception since it expects 
KeyValue to be backed by a buffer when printing the error message.

> Minimize byte[] copies for 'smart' clients
> ------------------------------------------
>
>                 Key: HBASE-9834
>                 URL: https://issues.apache.org/jira/browse/HBASE-9834
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>            Reporter: Jesse Yates
>            Assignee: Jesse Yates
>             Fix For: 0.94.14
>
>         Attachments: hbase-9834-0.94-v0.patch, hbase-9834-0.94-v1.patch, 
> hbase-9834-0.94-v2.patch
>
>
> 'Smart' clients (e.g. phoenix) that have in-depth knowledge of HBase often 
> bemoan the extra byte[] copies that must be done when building multiple 
> puts/deletes. We should provide a mechanism by which they can minimize these 
> copies, but still remain wire compatible. 



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to