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)