hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Francis Liu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9435) Fix jersey serialization/deserialization of json objects
Date Fri, 27 Sep 2013 01:36:02 GMT

    [ 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

Mime
View raw message