You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrey Gura (JIRA)" <ji...@apache.org> on 2018/06/13 12:14:00 UTC

[jira] [Comment Edited] (IGNITE-8293) BinaryUtils#isCustomJavaSerialization fails when only readObject is declared in a class

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

Andrey Gura edited comment on IGNITE-8293 at 6/13/18 12:13 PM:
---------------------------------------------------------------

[~MihkelJ] Unfortunately, TC run has failed tests due to your change. At least following tests are failed:

{noformat}
org.apache.ignite.testsuites.IgniteBinaryObjectsTestSuite: org.apache.ignite.internal.binary (12)
    BinaryEnumsSelfTest.testDeclaredBodyEnumNotRegistered  	
    BinaryEnumsSelfTest.testDeclaredBodyEnumRegistered  	
    BinaryEnumsSelfTest.testNestedBuilderNotRegistered  	
    BinaryEnumsSelfTest.testNestedNotRegistered  	
    BinaryEnumsSelfTest.testSimpleArrayNotRegistered  	
    BinaryEnumsSelfTest.testSimpleArrayRegistered  	
    BinaryEnumsSelfTest.testSimpleNotRegistered  	
    BinaryEnumsSelfTest.testSimpleRegistered  	
    BinaryMarshallerSelfTest.testWriteReplaceInheritable  	
    BinaryObjectBuilderAdditionalSelfTest.testEnum  	
    BinaryObjectBuilderAdditionalSelfTest.testMetadataChanging  	
    BinaryObjectBuilderAdditionalSelfTest.testSimpleTypeFieldOverride  	

org.apache.ignite.testsuites.IgniteBinaryObjectsTestSuite: org.apache.ignite.internal.binary.noncompact (4)

    BinaryMarshallerNonCompactSelfTest.testWriteReplaceInheritable  	
    BinaryObjectBuilderAdditionalNonCompactSelfTest.testEnum  	
    BinaryObjectBuilderAdditionalNonCompactSelfTest.testMetadataChanging  	
    BinaryObjectBuilderAdditionalNonCompactSelfTest.testSimpleTypeFieldOverride  
{noformat}




was (Author: agura):
[~MihkelJ] Unfortunately, TC run has failed tests due to your change. At least following changes are failed:

{noformat}
org.apache.ignite.testsuites.IgniteBinaryObjectsTestSuite: org.apache.ignite.internal.binary (12)
    BinaryEnumsSelfTest.testDeclaredBodyEnumNotRegistered  	
    BinaryEnumsSelfTest.testDeclaredBodyEnumRegistered  	
    BinaryEnumsSelfTest.testNestedBuilderNotRegistered  	
    BinaryEnumsSelfTest.testNestedNotRegistered  	
    BinaryEnumsSelfTest.testSimpleArrayNotRegistered  	
    BinaryEnumsSelfTest.testSimpleArrayRegistered  	
    BinaryEnumsSelfTest.testSimpleNotRegistered  	
    BinaryEnumsSelfTest.testSimpleRegistered  	
    BinaryMarshallerSelfTest.testWriteReplaceInheritable  	
    BinaryObjectBuilderAdditionalSelfTest.testEnum  	
    BinaryObjectBuilderAdditionalSelfTest.testMetadataChanging  	
    BinaryObjectBuilderAdditionalSelfTest.testSimpleTypeFieldOverride  	

org.apache.ignite.testsuites.IgniteBinaryObjectsTestSuite: org.apache.ignite.internal.binary.noncompact (4)

    BinaryMarshallerNonCompactSelfTest.testWriteReplaceInheritable  	
    BinaryObjectBuilderAdditionalNonCompactSelfTest.testEnum  	
    BinaryObjectBuilderAdditionalNonCompactSelfTest.testMetadataChanging  	
    BinaryObjectBuilderAdditionalNonCompactSelfTest.testSimpleTypeFieldOverride  
{noformat}



> BinaryUtils#isCustomJavaSerialization fails when only readObject is declared in a class
> ---------------------------------------------------------------------------------------
>
>                 Key: IGNITE-8293
>                 URL: https://issues.apache.org/jira/browse/IGNITE-8293
>             Project: Ignite
>          Issue Type: Bug
>          Components: binary
>    Affects Versions: 2.4
>            Reporter: MihkelJ
>            Assignee: MihkelJ
>            Priority: Minor
>             Fix For: 2.6
>
>
> Consider this class:
>  
> {code:java}
> public class Test implements Serializable {
>     private transient AtomicBoolean dirty = new AtomicBoolean(false);
>     private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
>         dirty = new AtomicBoolean(false);
>     }
>     //methods to check and mark class as dirty
> }{code}
> {{isCustomJavaSerialization}} will get a {{NoSuchMethodException}} when trying to grab the {{writeObject}} method and falsely conclude that Test doesn't use custom serialization.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)