[ 
https://issues.apache.org/jira/browse/IGNITE-7085?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexandr Fedotov updated IGNITE-7085:
-------------------------------------
    Description: 
When PDS is enabled and IGNITE_BINARY_SORT_OBJECT_FIELDS property is set and 
IgniteCache#put is called a node hangs.

The root cause is that when IGNITE_BINARY_SORT_OBJECT_FIELDS flag is enabled
BinaryMetadata#fields field is stored as TreeMap, but because 
BinaryUtils#WRAP_TREES is
set by default, that leads to BinaryMetadata#fields being wrapped into a 
BinaryTreeMap.
When an update for BinaryMetadata is initiated it ends up in a discovery thread 
from where
a metadata update for BinaryTreeMap is initiated. Since this update should be 
processed by the same discovery thread, that results in a deadlock.


  was:
When PDS is enabled and IGNITE_BINARY_SORT_OBJECT_FIELDS property is set and 
IgniteCache#put is called a node hangs.

The root cause is that when IGNITE_BINARY_SORT_OBJECT_FIELDS flag is enabled
BinaryMetadata#fields field is stored as TreeMap, but because 
BinaryUtils#WRAP_TREES is
set by default, that leads to BinaryMetadata#fields being wrapped into 
BinaryTreeMap.
When an update for BinaryMetadata is initiated it ends up in a discovery thread 
from where
a metadata update for BinaryTreeMap is initiated. Since this update should be 
processed by the same discovery thread, that results in a deadlock.



> When PDS is enabled and IGNITE_BINARY_SORT_OBJECT_FIELDS property is set and 
> IgniteCache#put is called a node hangs
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-7085
>                 URL: https://issues.apache.org/jira/browse/IGNITE-7085
>             Project: Ignite
>          Issue Type: Bug
>          Components: binary
>    Affects Versions: 2.1
>            Reporter: Alexandr Fedotov
>            Assignee: Alexandr Fedotov
>             Fix For: 2.4
>
>
> When PDS is enabled and IGNITE_BINARY_SORT_OBJECT_FIELDS property is set and 
> IgniteCache#put is called a node hangs.
> The root cause is that when IGNITE_BINARY_SORT_OBJECT_FIELDS flag is enabled
> BinaryMetadata#fields field is stored as TreeMap, but because 
> BinaryUtils#WRAP_TREES is
> set by default, that leads to BinaryMetadata#fields being wrapped into a 
> BinaryTreeMap.
> When an update for BinaryMetadata is initiated it ends up in a discovery 
> thread from where
> a metadata update for BinaryTreeMap is initiated. Since this update should be 
> processed by the same discovery thread, that results in a deadlock.



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

Reply via email to