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

Francis Liu commented on HBASE-9435:
------------------------------------

Nick, Devaraj and I had a quick discussion over this. Here's the quick summary:

Prior to this patch http requests using json representations with or without 
the '@' prefix were both valid. With this patch only no-'@'-prefix requests are 
valid.

The '@' prefix style notation is known as MAPPED notation in jersey, tho we 
have been running with NATURAL notation (no '@' prefix)  since the code was 
checked-in in 2009.  Which seems to be a bug in jersey, which is no longer 
surfaced with this patch since we use jackson. Tho server responses are always 
represented using the NATURAL notation. 

This problem is further exacerbated by the fact that our stargate doc is 
inconsistent or wrong. Request examples use a mix of MAPPED or NATURAL 
notation. While some responses use the MAPPED notation.

Given this situation we can either continue to support requests which use the 
MAPPED notation. Or we can deprecate support for that which seems cleaner and 
would cause less confusion IMHO. One concern here is the impact to users if we 
deprecate support? Thoughts?

It's a given that we'll have to update the documentation. Nick has suggested we 
deprecate the wiki and link the book to the rest javadoc.



                
> Fix jersey serialization/deserialization of json objects
> --------------------------------------------------------
>
>                 Key: HBASE-9435
>                 URL: https://issues.apache.org/jira/browse/HBASE-9435
>             Project: HBase
>          Issue Type: Bug
>          Components: REST
>            Reporter: Francis Liu
>            Assignee: Francis Liu
>            Priority: Blocker
>             Fix For: 0.98.0, 0.96.1
>
>         Attachments: HBASE-9435.patch, HBASE-9435.patch
>
>
> Stargate uses the default json marshaller/unmarshaller in natural mode. In 
> this mode the unmarshaller has trouble unmarshalling json instances. 
> This patch fixes this issue by using jackson as the marshaller/unmarshaller 
> instead. 
> I've also updated all the model unit tests to test json 
> serialization/deserialization. Backwards compatibilty can be verified by 
> modify the test base class to use the original marshaller/unmarshaller and 
> see that model tests pass.
> The patch is backward compatible except for StorageClusterStatusModel, which 
> is broken anyway. It only shows one node in the liveNodes field.

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

Reply via email to