[
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)