Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.4
-
None
Description
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).
Steps to reproduce
- Start single node with persistence enabled.
- Put 60 keys to metastore, update 40 of them.
- Restart node.
Expected behavior
Node starts just fine.
Actual behavior
Node hangs, thread dump of starting thread shows looping on reading BaselineTopology from metastore.
Workaround
No impact if no more than 52 keys are stored in metastore or keys are never updated.
Attachments
Issue Links
- links to