You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Amelchev Nikita (Jira)" <ji...@apache.org> on 2022/04/06 10:04:00 UTC
[jira] [Updated] (IGNITE-16212) Possible class-loading deadlock for PageIO implementations
[ https://issues.apache.org/jira/browse/IGNITE-16212?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Amelchev Nikita updated IGNITE-16212:
-------------------------------------
Fix Version/s: (was: 2.13)
> 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
> Priority: Major
>
> 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)