[ 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