Roman Puchkovskiy created IGNITE-16212:
------------------------------------------

             Summary: Possible class-loading deadlock for PageIO implementations
                 Key: IGNITE-16212
                 URL: https://issues.apache.org/jira/browse/IGNITE-16212
             Project: Ignite
          Issue Type: Bug
          Components: general
            Reporter: Roman Puchkovskiy
            Assignee: Roman Puchkovskiy
             Fix For: 2.13


At least PageMetaIO and PagePartitionMetaIO (and probably others need to be 
checked as well) are prone to class-loading deadlock due to constructs like 
this:

{{public class PageMetaIO extends PageIO {}}

{{...}}

{{    public static final IOVersions<PageMetaIO> VERSIONS = new IOVersions<>(}}
{{        new PageMetaIO(1),}}
{{        new PageMetaIOV2(2)}}
{{);}}

where PageMetaIOV2 is a subclass of PageMetaIO.

If we are unlucky with the loading order, it might happen that the superclass, 
to initialize itself, needs to load a subclass, and the sub-class needs to 
initialize the superclass first.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to