ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Artem Shutak (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-2953) Wrong marshalling and unmarshalling of invoke result with BinaryMarshaller
Date Wed, 06 Apr 2016 09:37:25 GMT

    [ https://issues.apache.org/jira/browse/IGNITE-2953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15228022#comment-15228022
] 

Artem Shutak commented on IGNITE-2953:
--------------------------------------

Tests on withKeepBinary case already exist. See InterceptorWithKeepBinaryCacheTestSuite or
looking for IGNITE-2953 at project.

> Wrong marshalling and unmarshalling of invoke result with BinaryMarshaller
> --------------------------------------------------------------------------
>
>                 Key: IGNITE-2953
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2953
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Artem Shutak
>
> When {{CacheEntryProcessor.process()}} method called on remote node, then Ignite will
serialize result of {{CacheEntryProcessor.process()}} to {{BinaryObject}} and then the {{BinaryObject}}
will be deserialized or not on local node (which called invoke/invokeAll) depending on {{keepBinary}}
flag of current operation ({{cache.withKeepBinary()}} or not).
> It's wrong behaviour for both withKeepBinary cache and not.
> Lets look at the following use caseы with invoke/invokeAll and BinaryMarshaller:
> # Cache.withKeepBinary
> #- {{CacheEntryProcessor.process()}} returns any user object (not BinaryObject)
> #- at this case user will get mixed user objects and {{BinaryObjects}} depending on what
node processing was done (local and remote)
> # Cache without withKeepBinary
> #- {{CacheEntryProcessor.process()}} returns {{BinaryObject}} builded like {{ignite.binary().builder("MyObj").build()}}
> #- at this case user will get exception because Ignite will try deseriallize {{BinaryObject}}.
> Looks like we need to add one more flag at {{GridCacheReturn}} message to detect whether
result should be converted from binary object or not (see org/apache/ignite/internal/processors/cache/GridCacheReturn.java:334,
org/apache/ignite/internal/processors/cache/CacheInvokeDirectResult.java:91).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message