You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Sergey Chugunov (JIRA)" <ji...@apache.org> on 2017/12/07 11:40:00 UTC

[jira] [Created] (IGNITE-7138) BinaryMetadata should be marshalled with standard JdkMarshaller instead of BinaryMarshaller

Sergey Chugunov created IGNITE-7138:
---------------------------------------

             Summary: BinaryMetadata should be marshalled with standard JdkMarshaller instead of BinaryMarshaller
                 Key: IGNITE-7138
                 URL: https://issues.apache.org/jira/browse/IGNITE-7138
             Project: Ignite
          Issue Type: Bug
            Reporter: Sergey Chugunov
             Fix For: 3.0


When running in persistent-enabled mode each Ignite node writes all updates of BinaryMetadata to local file system right from discovery thread.

On writing metadata has to be marshalled into byte array, BinaryMarshaller is used at the moment (see BinaryMetadataFileStore class for implementation).
It turned out it can cause a deadlock (more details are in linked ticket) when BinaryMarshaller decides to register metadata for one of the fields of initial BinaryMetadata object.

JdkMarshaller should be used instead as it doesn't rely on internal mechanics of Ignite node.
As it breaks compatibility this change cannot be implemented in 2.x version.



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