[
https://issues.apache.org/jira/browse/HBASE-8782?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13692307#comment-13692307
]
Lars George commented on HBASE-8782:
------------------------------------
bq. As for solution, my first solution to avoid copying the array was to modify
HtableInterface to accept ByteBuffer as input and separately take care of other
cases in checkAndPut() and checkAndDelete(). However, I can see that means
adding to HTableInterface!
I do not think you have to do that. getTable() is a function of HTablePool, not
the HTableInterface. What you found there seems to exist for exactly the right
reasons though, nice find indeed! Yes, please update the patch so that we can
look at it in context.
Good on you, keep hacking away on it.
> Thrift2 can not parse values when using framed transport
> --------------------------------------------------------
>
> Key: HBASE-8782
> URL: https://issues.apache.org/jira/browse/HBASE-8782
> Project: HBase
> Issue Type: Bug
> Components: Thrift
> Affects Versions: 0.95.1
> Reporter: Hamed Madani
> Attachments: HBASE_8782.patch
>
>
> ThriftHBaseServiceHandler.java use .array() on table names , and values
> (family , qualifier in checkandDelete , etc) which resulted in incorrect
> values with framed transport. Replacing .array() with getBytes() fixed this
> problem. I've attached the patch
> EDIT: updated the patch to cover checkAndPut(), checkAndDelete()
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira