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

Fix/meta/validate objects #3219

Merged
merged 4 commits into from
Mar 11, 2025
Merged

Fix/meta/validate objects #3219

merged 4 commits into from
Mar 11, 2025

Conversation

carpawell
Copy link
Member

No description provided.

It has a starting log and a finishing one, but no records in logs if
notifications are missing.

Signed-off-by: Pavel Karpy <[email protected]>
Copy link

codecov bot commented Mar 10, 2025

Codecov Report

Attention: Patch coverage is 63.88889% with 52 lines in your changes missing coverage. Please review.

Project coverage is 22.20%. Comparing base (8340c91) to head (d81f7d9).
Report is 11 commits behind head on master.

Files with missing lines Patch % Lines
pkg/services/meta/containers.go 77.77% 19 Missing and 5 partials ⚠️
pkg/services/meta/meta.go 0.00% 24 Missing ⚠️
cmd/neofs-node/meta.go 0.00% 3 Missing ⚠️
pkg/services/meta/blocks.go 88.88% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3219      +/-   ##
==========================================
+ Coverage   22.16%   22.20%   +0.04%     
==========================================
  Files         761      761              
  Lines       60745    60817      +72     
==========================================
+ Hits        13463    13506      +43     
- Misses      46299    46328      +29     
  Partials      983      983              

☔ 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.

defer wg.Done()
err := s.putMPTIndexes(bInd, objCh)
if err != nil {
l.Error("failed to put mpt indexes", zap.Error(err))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not all errors deserve the highest severity imo. For example, failed HEAD is ptetty usual. info is enough to me, warn at most

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

failed HEAD is ptetty usual

we need to solve it somehow, because we are on our way, when it is not true. if MPT is outdated (any missing object makes it so, cause the root hash differs then), node is not trusted and it should be resynced or fixed, or smth

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so, when we'll see this error, we are supposed to do some particular actions? If so, then its ok to write in error severity, but lets write what todo. failed ..., DB resync is needed for example

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

still think it is really close to #3140. we need to decide in general what is a missing object for us. i see this issue as the point when we are deciding it

@carpawell carpawell force-pushed the fix/meta/validate-objects branch from b6e0633 to 7e918e3 Compare March 11, 2025 13:03
@carpawell
Copy link
Member Author

Fixed tests with empty metaservice path. Hardcoded fake path, but what else can we do now...

Required to overwrite empty config values for current test purposes. Other
engine components require (panic otherwise) paths, but meta is a WIP feature,
so no strict requirements for now.

Signed-off-by: Pavel Karpy <[email protected]>
@carpawell carpawell force-pushed the fix/meta/validate-objects branch from 395ba6e to 390645d Compare March 11, 2025 14:18
@carpawell carpawell requested a review from cthulhu-rider March 11, 2025 14:19
@roman-khimov
Copy link
Member

Tests are failing though.

Copy link
Contributor

@cthulhu-rider cthulhu-rider left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make sure this does not need the changelog

@roman-khimov
Copy link
Member

At this stage this requires enabling on IR side, so it's all experimental, nothing to log.

* add new "locked by" index to raw indexes
* make MPT keys be placed only after they are put to DB (and validated)
* prohibit removal of non-existent objects
* prohibit removal of locked objects
* prohibit locking of non-existent objects

Closes #3178.

Signed-off-by: Pavel Karpy <[email protected]>
@carpawell carpawell force-pushed the fix/meta/validate-objects branch from 390645d to d81f7d9 Compare March 11, 2025 16:21
@carpawell carpawell requested a review from roman-khimov March 11, 2025 16:22
@carpawell
Copy link
Member Author

make sure this does not need the changelog

At this stage this requires enabling on IR side, so it's all experimental, nothing to log.

Yes, I haven't added any records to CHANGELOG about meta yet.

@roman-khimov roman-khimov merged commit dd8073b into master Mar 11, 2025
19 of 22 checks passed
@roman-khimov roman-khimov deleted the fix/meta/validate-objects branch March 11, 2025 16:45
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.

3 participants