You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Sergey Chugunov (JIRA)" <ji...@apache.org> on 2018/03/15 10:25:00 UTC

[jira] [Created] (IGNITE-7964) Read a key from metastorage may hang on node restart

Sergey Chugunov created IGNITE-7964:
---------------------------------------

             Summary: Read a key from metastorage may hang on node restart
                 Key: IGNITE-7964
                 URL: https://issues.apache.org/jira/browse/IGNITE-7964
             Project: Ignite
          Issue Type: Bug
          Components: persistence
    Affects Versions: 2.4
            Reporter: Sergey Chugunov
            Assignee: Sergey Chugunov
             Fix For: 2.5


MetaStorage handles *rmvId* counter incorrectly: it is not propagated to metapage and is not persisted to disk; on restart *rmvId* is set to 0 which leads to incorrect initialization of BPlusTree where all keys live.

As a consequence if there are more than 52 keys and more than 31 of them get updated than on next restart node hangs on attempt to read BaselineTopology info from metastore (because of endless looping inside BPlusTree starting from the root over and over again).
h2. Steps to reproduce
 # Start single node with persistence enabled.
 # Put 60 keys to metastore, update 40 of them.
 # Restart node.

h2. Expected behavior

Node starts just fine.
h2. Actual behavior

Node hangs, thread dump of starting thread shows looping on reading BaselineTopology from metastore.
h2. Workaround

No impact if no more than 52 keys are stored in metastore or keys are never updated.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)