[ https://issues.apache.org/jira/browse/HBASE-9435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13778171#comment-13778171 ]
Devaraj Das commented on HBASE-9435: ------------------------------------ This broke one of our internal tests. The failing command: {noformat} curl -H "Content-Type: application/json" --data '{"Row":{"@key":"cm93MQ==", "Cell": {"@column":"Y29sZmFtOmNvbA==", "$":"dmFsdWUx"} }}' http://localhost:17000/tcreatetbl/row1/colfam:col {noformat} The exception thrown: {noformat} <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> <title>Error 500 Can not deserialize instance of java.util.List out of START_OBJECT token at [Source: org.mortbay.jetty.HttpParser$Input@6392f558; line: 1, column: 2] (through reference chain: org.apache.hadoop.hbase.rest.model.CellSetModel["Row"])</title> </head> <body><h2>HTTP ERROR 500</h2> <p>Problem accessing /tcreatetbl/row1/colfam:col. Reason: <pre> Can not deserialize instance of java.util.List out of START_OBJECT token at [Source: org.mortbay.jetty.HttpParser$Input@6392f558; line: 1, column: 2] (through reference chain: org.apache.hadoop.hbase.rest.model.CellSetModel["Row"])</pre></p><h3>Caused by:</h3><pre>org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.util.List out of START_OBJECT token at [Source: org.mortbay.jetty.HttpParser$Input@6392f558; line: 1, column: 2] (through reference chain: org.apache.hadoop.hbase.rest.model.CellSetModel["Row"]) at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163) at org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:198) at org.codehaus.jackson.map.deser.CollectionDeserializer.handleNonArray(CollectionDeserializer.java:149) at org.codehaus.jackson.map.deser.CollectionDeserializer.deserialize(CollectionDeserializer.java:107) at org.codehaus.jackson.map.deser.CollectionDeserializer.deserialize(CollectionDeserializer.java:97) {noformat} > 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 > 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