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)