Skip to content

Synctest#3906

Merged
roman-khimov merged 8 commits intomasterfrom
synctest
Mar 26, 2026
Merged

Synctest#3906
roman-khimov merged 8 commits intomasterfrom
synctest

Conversation

@roman-khimov
Copy link
Copy Markdown
Member

@roman-khimov roman-khimov commented Mar 24, 2026

Use more of synctest for speed and reliability. A part of #3857.

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 24, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 26.77%. Comparing base (d7cd12e) to head (22a4983).
⚠️ Report is 9 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3906      +/-   ##
==========================================
- Coverage   26.78%   26.77%   -0.01%     
==========================================
  Files         677      677              
  Lines       44606    44608       +2     
==========================================
  Hits        11946    11946              
  Misses      31551    31551              
- Partials     1109     1111       +2     

☔ View full report in Codecov by Sentry.
📢 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.

Bad things can happen with the same parent/child IDs or other ID cycles:

    runtime: goroutine stack exceeds 1000000000-byte limit
    runtime: sp=0x1fe3aab003d8 stack=[0x1fe3aab00000, 0x1fe3cab00000]
    fatal error: stack overflow

Signed-off-by: Roman Khimov <roman@nspcc.ru>
Signed-off-by: Roman Khimov <roman@nspcc.ru>
Caveats:
 * t.Run() is not allowed in a buble, but it shouldn't matter much for
   tests reusing engine
 * oidtest and cidtest use time-based random seeds, so if time does not
   advance we end up with the same IDs

Before:
    ok      github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine 21.773s

After:
    ok      github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine 19.133s

Signed-off-by: Roman Khimov <roman@nspcc.ru>
Tests don't benefit from batching, shorter wait time reduces the overhead
significantly.

Before:

    ok      github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase       9.696s

After:

    ok      github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase       3.157s

Signed-off-by: Roman Khimov <roman@nspcc.ru>
Writecache doesn't change shard behavior, there is nothing to check/wait for
there.

Signed-off-by: Roman Khimov <roman@nspcc.ru>
More stable and fast. Before:

    ok      github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard  24.716s

After:

    ok      github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard  22.870s

Signed-off-by: Roman Khimov <roman@nspcc.ru>
Nothing to batch there, flush quickly. Before:

    ok      github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard  22.870s

After:

    ok      github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard  10.165s

Signed-off-by: Roman Khimov <roman@nspcc.ru>
Don't wait for nothing. Before:

    ok      github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine 19.133s

After:

    ok      github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine 12.351s

Signed-off-by: Roman Khimov <roman@nspcc.ru>
@roman-khimov
Copy link
Copy Markdown
Member Author

roman-khimov commented Mar 26, 2026

Updated to SDK RC18, dropped useless time.Sleep (nspcc-dev/neofs-sdk-go#803).

@roman-khimov roman-khimov merged commit 4ee2925 into master Mar 26, 2026
18 of 22 checks passed
@roman-khimov roman-khimov deleted the synctest branch March 26, 2026 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test Unit tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants