[infinispan-issues] [JBoss JIRA] Commented: (ISPN-872) In REST, serialized byte array is returned as raw but not serialized

Galder Zamarreño (JIRA) jira-events at lists.jboss.org
Wed Jan 12 12:04:49 EST 2011


    [ https://issues.jboss.org/browse/ISPN-872?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12575047#comment-12575047 ] 

Galder Zamarreño commented on ISPN-872:
---------------------------------------

Actually, the test is not correct. If you're already retrieving the byte[] from getBytes(), why pass it through ObjectOutputStream? That makes no sense at all. 

Even in the case that you pass getBytes() directly (which I'd add to the testsuite) currently you'd pass the byte[] as "application/x-java-serialized-object" which will probably fail cos the server side will attempt to deserialize which should fail cos it's not really a Java serialized object.

So, the root cause is still present, a different type is needed for pure byte[] arrays that are not serialized such as getBytes() result.

> In REST, serialized byte array is returned as raw but not serialized
> --------------------------------------------------------------------
>
>                 Key: ISPN-872
>                 URL: https://issues.jboss.org/browse/ISPN-872
>             Project: Infinispan
>          Issue Type: Enhancement
>          Components: Cache Server
>    Affects Versions: 4.2.0.Final, 5.0.0.ALPHA1
>            Reporter: Galder Zamarreño
>            Assignee: Galder Zamarreño
>              Labels: REST
>             Fix For: 4.2.1.Final, 5.0.0.ALPHA2
>
>
> From Michal:
> "When I want to store byte array in the serialized form (mimetype: application/x-java-serialized-object) I can't get it back, because rest server returns it in raw form instead of serialized form. 
> see https://github.com/infinispan/infinispan/blob/4.2.0.FINAL/server/rest/src/main/scala/org/infinispan/rest/Server.scala, line 44-50. 
> the process is like this: 
> 1. PUT bytearray in serialized form 
> 2. rest server deserializes the bytearray and stores it in deserialized (raw) form 
> 3. GET byte array (expecting serialized form) 
> 4. rest server retrieves the byte array in raw form but doesn't serialize it, instead streams it in raw form - because of the above mentioned code.
> testcase 
> testByteArrayStorage() 
> in 
> https://anonsvn.jboss.org/repos/jbossas/branches/JBPAPP_5_1_datagrid/testsuite/src/main/org/jboss/test/cluster/datagrid/test/RESTClientTestCase.java"

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the infinispan-issues mailing list