[ https://issues.apache.org/jira/browse/IGNITE-7640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16425563#comment-16425563 ]
Alexander Menshikov commented on IGNITE-7640: --------------------------------------------- I'm sorry but I can't do this issue. After strict investigation of tests results, I still see failed tests with my PR. And I truly don't understand a reason. I found two type of unclear using of DiscoveryDataClusterState. *1. Concurrency using* DiscoveryDataClusterState.transitionRes + GridClusterStateProcessor.transitionFuts are working together like a future: DiscoveryDataClusterState.transitionRes used for value passing and GridClusterStateProcessor.transitionFuts used as a latch. *2. Serialization* There is logic based on the fact some fields are `transient` and some other is not. It breaks some invariants which I think I see in code (object become partly initialized). But some bugs still here, so maybe there is something else. I think we should make clear using of DiscoveryDataClusterState before this issue became resolvable. Or maybe someone else will be lucky. > Refactor DiscoveryDataClusterState to be immutable > -------------------------------------------------- > > Key: IGNITE-7640 > URL: https://issues.apache.org/jira/browse/IGNITE-7640 > Project: Ignite > Issue Type: Improvement > Components: cache > Affects Versions: 2.4 > Reporter: Alexey Goncharuk > Assignee: Alexander Menshikov > Priority: Major > Fix For: 2.5 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)