Jeremy Aouad created IGNITE-25322:
-------------------------------------

             Summary: defaultSerializer in BinaryContext should take into 
consideration the user passed binary config
                 Key: IGNITE-25322
                 URL: https://issues.apache.org/jira/browse/IGNITE-25322
             Project: Ignite
          Issue Type: Bug
    Affects Versions: 2.17
            Reporter: Jeremy Aouad


Ignite thin client has a seemingly incoherent behavior for determining the 
serializer of a user defined type. On thin client startup, the passed binary 
configuration, is taken into account when registering the type descriptors. For 
each binary type configuration, the type is registered along with its specified 
serializer, rather than the default serializer being chosen for it.

This is not what is happening, however, in the following case: A thin client is 
connected to 2 servers. One of the servers crashes (chaos testing). The 
reliable channel fail listener is invoked which cleans up registered type 
descriptors. When a type that was initially configured in the binary config 
along with its serializer is used, the type descriptor will be recreated, 
passing through the method defaultSerializer, which only returns the default 
serializer if defined, ignoring whether or not a specific config has been 
specified for the class.

I [patched 
ignite|https://github.com/jeremyaouad/ignite/commit/8631642eb634c8fdd7bd142913a76c917ebfa6f1#diff-0b6b6de9d7cd36395bd30954afa10acb9ca3ebdca670c918d4c67a130c64eb22]
 on my side to test a fix, and it works.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to