Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: enable FlatState values inlining migration in the background #9093

Merged
merged 1 commit into from
May 25, 2023

Conversation

pugachAG
Copy link
Contributor

@pugachAG pugachAG commented May 23, 2023

Part of #8243.

This PR enables the migration added in #9037 to be executed in the background on the running node.
It supports graceful stop when the node is shut down. The implementation is heavily inspired by state sync background dumping to S3.

This PR also introduces a new column DBCol::Misc. For now it only stores the status of the migration, but it can hold any small pieces of data, similar to DBCol::BlockMisc.

FlatStorageManager is exposed as part of RuntimeAdapter in this PR. This is the first step in cleaning RuntimeAdapter from all other flat storage related methods, as the manager can be directly used instead.

Tested by manually running a node and checking metrics and log messages. After that flat storage was checked with flat-storage verify cmd.

@pugachAG pugachAG force-pushed the fs-value-inlining-background branch from 5062a79 to 9affbcf Compare May 23, 2023 12:16
@pugachAG pugachAG requested review from Longarithm and jbajic May 23, 2023 12:54
@pugachAG pugachAG added the A-storage Area: storage and databases label May 23, 2023
@pugachAG pugachAG marked this pull request as ready for review May 23, 2023 12:56
@pugachAG pugachAG requested a review from a team as a code owner May 23, 2023 12:56
core/store/src/flat/inlining_migration.rs Outdated Show resolved Hide resolved
@pugachAG pugachAG force-pushed the fs-value-inlining-background branch 2 times, most recently from 5ce743b to 4a7c519 Compare May 25, 2023 09:24
@pugachAG pugachAG force-pushed the fs-value-inlining-background branch from 4a7c519 to b56325f Compare May 25, 2023 17:03
@near-bulldozer near-bulldozer bot merged commit 11ab161 into near:master May 25, 2023
near-bulldozer bot pushed a commit that referenced this pull request May 30, 2023
…9117)

With #9093 `RuntimeAdapter` has access to `FlatStorageManager` which makes all other flat storage related methods redundant. This PR removes those methods to keep `RuntimeAdapter` trait leaner.
nikurt pushed a commit that referenced this pull request May 31, 2023
…9093)

Part of #8243.

This PR enables the migration added in #9037 to be executed in the background on the running node.
It supports graceful stop when the node is shut down. The implementation is heavily inspired by state sync background dumping to S3.

This PR also introduces a new column `DBCol::Misc`. For now it only stores the status of the migration, but it can hold any small pieces of data, similar to `DBCol::BlockMisc`.

`FlatStorageManager` is exposed as part of `RuntimeAdapter` in this PR. This is the first step in cleaning `RuntimeAdapter` from all other flat storage related methods, as the manager can be directly used instead.

Tested by manually running a node and checking metrics and log messages. After that flat storage was checked with `flat-storage verify` cmd.
nikurt pushed a commit that referenced this pull request May 31, 2023
…9117)

With #9093 `RuntimeAdapter` has access to `FlatStorageManager` which makes all other flat storage related methods redundant. This PR removes those methods to keep `RuntimeAdapter` trait leaner.
nikurt pushed a commit to nikurt/nearcore that referenced this pull request Jun 8, 2023
…ear#9093)

Part of near#8243.

This PR enables the migration added in near#9037 to be executed in the background on the running node.
It supports graceful stop when the node is shut down. The implementation is heavily inspired by state sync background dumping to S3.

This PR also introduces a new column `DBCol::Misc`. For now it only stores the status of the migration, but it can hold any small pieces of data, similar to `DBCol::BlockMisc`.

`FlatStorageManager` is exposed as part of `RuntimeAdapter` in this PR. This is the first step in cleaning `RuntimeAdapter` from all other flat storage related methods, as the manager can be directly used instead.

Tested by manually running a node and checking metrics and log messages. After that flat storage was checked with `flat-storage verify` cmd.
nikurt pushed a commit to nikurt/nearcore that referenced this pull request Jun 8, 2023
…ear#9117)

With near#9093 `RuntimeAdapter` has access to `FlatStorageManager` which makes all other flat storage related methods redundant. This PR removes those methods to keep `RuntimeAdapter` trait leaner.
nikurt pushed a commit to nikurt/nearcore that referenced this pull request Jun 8, 2023
…ear#9093)

Part of near#8243.

This PR enables the migration added in near#9037 to be executed in the background on the running node.
It supports graceful stop when the node is shut down. The implementation is heavily inspired by state sync background dumping to S3.

This PR also introduces a new column `DBCol::Misc`. For now it only stores the status of the migration, but it can hold any small pieces of data, similar to `DBCol::BlockMisc`.

`FlatStorageManager` is exposed as part of `RuntimeAdapter` in this PR. This is the first step in cleaning `RuntimeAdapter` from all other flat storage related methods, as the manager can be directly used instead.

Tested by manually running a node and checking metrics and log messages. After that flat storage was checked with `flat-storage verify` cmd.
nikurt pushed a commit to nikurt/nearcore that referenced this pull request Jun 8, 2023
…ear#9117)

With near#9093 `RuntimeAdapter` has access to `FlatStorageManager` which makes all other flat storage related methods redundant. This PR removes those methods to keep `RuntimeAdapter` trait leaner.
nikurt pushed a commit that referenced this pull request Jun 13, 2023
…9093)

Part of #8243.

This PR enables the migration added in #9037 to be executed in the background on the running node.
It supports graceful stop when the node is shut down. The implementation is heavily inspired by state sync background dumping to S3.

This PR also introduces a new column `DBCol::Misc`. For now it only stores the status of the migration, but it can hold any small pieces of data, similar to `DBCol::BlockMisc`.

`FlatStorageManager` is exposed as part of `RuntimeAdapter` in this PR. This is the first step in cleaning `RuntimeAdapter` from all other flat storage related methods, as the manager can be directly used instead.

Tested by manually running a node and checking metrics and log messages. After that flat storage was checked with `flat-storage verify` cmd.
nikurt pushed a commit that referenced this pull request Jun 13, 2023
…9117)

With #9093 `RuntimeAdapter` has access to `FlatStorageManager` which makes all other flat storage related methods redundant. This PR removes those methods to keep `RuntimeAdapter` trait leaner.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-storage Area: storage and databases
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants