[ 
https://issues.apache.org/jira/browse/IGNITE-19674?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mirza Aliev updated IGNITE-19674:
---------------------------------
    Description: 
Currently if we use {{StandaloneMetaStorageManager#create()}} with 
{{RocksDbKeyValueStorage}} in a scenarios when a node is restarted, data in a 
metastorage is not recovering, because the logic in 
{{RocksDbKeyValueStorage#start}} is the following: when we restart 
{{RocksDbKeyValueStorage}}, we call {{recreateDb}} which deletes existing data, 
recovery is relying on the raft's snapshot and log playback.

When we use {{StandaloneMetaStorageManager}} we mock raft layer, meaning that 
we do not restore metastorage using raft's snapshot.

I propose to create test version of {{RocksDbKeyValueStorage}} so it won't 
delete data when it is used in tests scenarios.

  was:
Currently if we use {{StandaloneMetaStorageManager#create()}} with 
{{RocksDbKeyValueStorage}} in a scenarios when a node is restarted, data in a 
metastorage is not recovering, because the logic in 
{{RocksDbKeyValueStorage#start}} is the following: when we restart 
{{RocksDbKeyValueStorage}}, we call {{recreateDb}} which deletes existing data, 
recovery is relying on the raft's snapshot and log playback.

When we use {{StandaloneMetaStorageManager}} we mock raft layer, meaning that 
we do not restore metastorage using raft's snapshot.

I propose to change a bit {{RocksDbKeyValueStorage}} so it won't delete data 
when it is used in tests scenarios.


> Provide an ability to restart StandaloneMetaStorageManager with the recovered 
> data
> ----------------------------------------------------------------------------------
>
>                 Key: IGNITE-19674
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19674
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Mirza Aliev
>            Assignee: Mirza Aliev
>            Priority: Major
>              Labels: ignite-3
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently if we use {{StandaloneMetaStorageManager#create()}} with 
> {{RocksDbKeyValueStorage}} in a scenarios when a node is restarted, data in a 
> metastorage is not recovering, because the logic in 
> {{RocksDbKeyValueStorage#start}} is the following: when we restart 
> {{RocksDbKeyValueStorage}}, we call {{recreateDb}} which deletes existing 
> data, recovery is relying on the raft's snapshot and log playback.
> When we use {{StandaloneMetaStorageManager}} we mock raft layer, meaning that 
> we do not restore metastorage using raft's snapshot.
> I propose to create test version of {{RocksDbKeyValueStorage}} so it won't 
> delete data when it is used in tests scenarios.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to