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

Edmond Tsang edited comment on IGNITE-6944 at 11/20/17 11:23 AM:
-----------------------------------------------------------------

[~agura] We have 2 test cases, the 1st one is more important as it is more the 
use case for us and 2nd one is just a Junit test.

1. [^TestClientWithGuava.java] - this one is to send a task to Ignite server

2. [^BinaryMarshellerWithGuavaSelfTest.java] - the Junit test

Proposing fix for the issue - under 
org.apache.ignite.internal.binary.BinaryClassDescriptor.java, under the 
constructor of BinaryClassDescriptor(), use findNonPublicMembers when trying to 
resolve readResolve()/writeReplace():

{code:java}
        ...
        if (mode == BinaryWriteMode.BINARY || mode == BinaryWriteMode.OBJECT) {
//            readResolveMtd = U.getNonPublicMethod(cls, "readResolve");
                readResolveMtd = U.findNonPublicMethod(cls, "readResolve");

//            writeReplaceMthd = U.getNonPublicMethod(cls, "writeReplace");
            writeReplaceMthd = U.findNonPublicMethod(cls, "writeReplace");
        }
        ...
{code}



was (Author: tsanged):
[~agura] We have 2 test cases, the 1st one is more important as it is more the 
use case for us and 2nd one is a Junit test

1. [^TestClientWithGuava.java] - this one is to send a task to Ignite server

2. [^BinaryMarshellerWithGuavaSelfTest.java] - the Junit test

> Fail to execute task with immutable list string
> -----------------------------------------------
>
>                 Key: IGNITE-6944
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6944
>             Project: Ignite
>          Issue Type: Bug
>          Components: binary
>    Affects Versions: 2.3
>            Reporter: Edmond Tsang
>         Attachments: BinaryMarshellerWithGuavaSelfTest.java, 
> TestClientWithGuava.java
>
>
> Exception occurs when executing task with immutable list of string due to not 
> able to find method readResolve/writeReplace for binary object.
> It appears this is caused by a side effect of Jira 
> https://issues.apache.org/jira/browse/IGNITE-6485 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to