Skip to content

split persistent + treat raw import marker as a "poisoned state" - #1111

Merged
Rexagon merged 25 commits into
masterfrom
feature/poisoned-raw-import-marker
Aug 19, 2026
Merged

split persistent + treat raw import marker as a "poisoned state"#1111
Rexagon merged 25 commits into
masterfrom
feature/poisoned-raw-import-marker

Conversation

@SmaGMan

@SmaGMan SmaGMan commented Jul 1, 2026

Copy link
Copy Markdown
Member

Merge after #1100


Set RawImportInProgress marker on zerostate or persistent state import start and remove when import fully finished. If import fail the marker will persist. Node start will fail if RawImportInProgress marker exist and will require re-sync.

Pull Request Checklist

NODE CONFIGURATION MODEL CHANGES

[None]

BLOCKCHAIN CONFIGURATION MODEL CHANGES

[None]


COMPATIBILITY

Fully compatible

SPECIAL DEPLOYMENT ACTIONS

[Not Required]


PERFORMANCE IMPACT

[No impact expected]


TESTS

Unit Tests

Covered by:

  • storage_open_rejects_existing_raw_import_marker
  • finished_raw_import_marker_allows_storage_open

Network Tests

[No coverage]

Manual Tests

Manual tests used:

  • start network
  • deploy 1kk accounts
  • force persistent state using HACK
  • stop one node and drop its
  • start node, wait when persistent import starts, then stop node
  • try to start node - it should fail

@SmaGMan
SmaGMan requested review from 0xdeafbeef, Mododo and Rexagon July 1, 2026 10:11
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown

🧪 Network Tests

To run network tests for this PR, use:

gh workflow run network-tests.yml -f pr_number=1111

Available test options:

  • Run all tests: gh workflow run network-tests.yml -f pr_number=1111
  • Run specific test: gh workflow run network-tests.yml -f pr_number=1111 -f test_selection=ping-pong

Test types: destroyable, ping-pong, one-to-many-internal-messages, fq-deploy, nft-index, persistent-sync

Results will be posted as workflow runs in the Actions tab.

@SmaGMan SmaGMan linked an issue Jul 1, 2026 that may be closed by this pull request
@codecov

codecov Bot commented Jul 1, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 74.28041% with 554 lines in your changes missing coverage. Please review.
✅ Project coverage is 60.43%. Comparing base (b00771c) to head (6538eb4).

Files with missing lines Patch % Lines
core/src/block_strider/starter/cold_boot.rs 0.00% 226 Missing ⚠️
core/src/storage/persistent_state/tests.rs 77.28% 15 Missing and 72 partials ⚠️
core/src/storage/persistent_state/mod.rs 71.25% 30 Missing and 18 partials ⚠️
core/src/storage/shard_state/store_state_raw.rs 84.03% 15 Missing and 27 partials ⚠️
core/src/storage/shard_state/mod.rs 78.48% 20 Missing and 14 partials ⚠️
core/src/storage/shard_state/raw_import_session.rs 77.98% 1 Missing and 23 partials ⚠️
...src/storage/persistent_state/shard_state/writer.rs 89.80% 10 Missing and 11 partials ⚠️
core/src/storage/shard_state/cell_storage/raw.rs 94.37% 7 Missing and 11 partials ⚠️
core/src/block_strider/starter/starter_client.rs 0.00% 13 Missing ⚠️
core/src/blockchain_rpc/client.rs 81.35% 9 Missing and 2 partials ⚠️
... and 8 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1111      +/-   ##
==========================================
+ Coverage   60.10%   60.43%   +0.33%     
==========================================
  Files         484      487       +3     
  Lines       83305    85229    +1924     
  Branches    83305    85229    +1924     
==========================================
+ Hits        50069    51510    +1441     
- Misses      30868    31193     +325     
- Partials     2368     2526     +158     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Mododo

Mododo commented Jul 9, 2026

Copy link
Copy Markdown
Member

lgtm

@SmaGMan
SmaGMan force-pushed the feature/poisoned-raw-import-marker branch 2 times, most recently from ee10db6 to 8e4026b Compare July 10, 2026 17:14
@SmaGMan
SmaGMan marked this pull request as draft July 14, 2026 07:52
@SmaGMan
SmaGMan force-pushed the feature/poisoned-raw-import-marker branch 2 times, most recently from be20fa1 to 6b3a331 Compare July 14, 2026 13:33
@SmaGMan
SmaGMan marked this pull request as ready for review July 14, 2026 13:39
@SmaGMan SmaGMan changed the title treat raw import marker as a "poisoned state" split persistent + treat raw import marker as a "poisoned state" Jul 14, 2026
@SmaGMan
SmaGMan force-pushed the feature/poisoned-raw-import-marker branch from 8c97e24 to fd792fc Compare July 16, 2026 14:44
@SmaGMan
SmaGMan force-pushed the feature/poisoned-raw-import-marker branch from fd792fc to dcd9185 Compare July 27, 2026 12:22
@Rexagon
Rexagon force-pushed the feature/poisoned-raw-import-marker branch from dcd9185 to 71b53bc Compare August 6, 2026 13:29
@Rexagon
Rexagon force-pushed the feature/poisoned-raw-import-marker branch from 88e3d5b to 8784a1b Compare August 13, 2026 11:00
@Rexagon
Rexagon added this pull request to the merge queue Aug 19, 2026
Merged via the queue into master with commit eb56303 Aug 19, 2026
23 checks passed
@Rexagon
Rexagon deleted the feature/poisoned-raw-import-marker branch August 19, 2026 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use RawImportInProgress as a "poisoned" marker and require re-sync

4 participants