[
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