hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-8078) REST for Multi-put Using JSON Ordering
Date Tue, 12 Mar 2013 20:09:14 GMT

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

Andrew Purtell commented on HBASE-8078:
---------------------------------------

Let me double check but I think this is a known problem. We use the Jersey JAXB bindings for
JSON support: http://jersey.java.net/nonav/documentation/latest/json.html#json.jaxb.approach.section
. These introduce some ordering requirements, that IIRC can change from version to version
(of Jersey).

The grand fix for JSON ordering issues is likely to be a move away from the JAXB bindings
to a full JSON processor like Jackson. 
                
> REST for Multi-put Using JSON Ordering
> --------------------------------------
>
>                 Key: HBASE-8078
>                 URL: https://issues.apache.org/jira/browse/HBASE-8078
>             Project: HBase
>          Issue Type: Bug
>          Components: REST
>            Reporter: Jesse Anderson
>
> This issue only happens when doing a Multi-put using the REST interface and with the
JSON data format.
> The bug is that the "key" entry must come before the "Cell" entry.  The "key" entry order
shouldn't matter.  If it doesn't come first, the REST interface won't find the key and will
use the URL's key over and over.  For example, if the row key in the URL is "fakekey", then
every cell would be added to the same row despite the key being in the JSON.
> Here is the workaround in Python:
> 	cell = OrderedDict([
> 		("key", rowKeyEncoded),
> 		("Cell", 
> 		[
> 			{ "column" : messagecolumnencoded, "$" : line },
> 			{ "column" : usernamecolumnencoded, "$" : usernameEncoded },
> 			{ "column" : linenumbercolumnencoded, "$" : lineNumberEncoded },
> 		])
> 	])

--
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

Mime
View raw message