Skip to content

Conversation

End-rey
Copy link
Contributor

@End-rey End-rey commented Aug 22, 2025

Closes #3486.

Now, if you revive an object on a specific node, then it can only be retrieved on it. It will still be unavailable on other nodes. And the tombstone object is physically deleted only if it was in that node. Is this the right logic?

Copy link

codecov bot commented Aug 22, 2025

Codecov Report

❌ Patch coverage is 82.45614% with 10 lines in your changes missing coverage. Please review.
✅ Project coverage is 25.03%. Comparing base (2d36e46) to head (cfb660f).
⚠️ Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
pkg/local_object_storage/metabase/revive.go 85.41% 4 Missing and 3 partials ⚠️
pkg/local_object_storage/shard/revive.go 66.66% 1 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3542      +/-   ##
==========================================
+ Coverage   24.93%   25.03%   +0.10%     
==========================================
  Files         660      660              
  Lines       49356    49411      +55     
==========================================
+ Hits        12307    12372      +65     
+ Misses      36059    36042      -17     
- Partials      990      997       +7     

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

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.

t.Skip("https://github.com/nspcc-dev/neofs-node/issues/3486")

should work after the fix

@End-rey
Copy link
Contributor Author

End-rey commented Aug 29, 2025

@cthulhu-rider what if I delete a tombstone at the shard level, to also delete it from blobstor? Or do I need to just delete it from the metabase?
Also, I was surprised to see this status here:

require.Equal(t, meta.ReviveStatusGarbage, rs.StatusType())

Since we put tombstone, shouldn't the object be put in graveyard?

@roman-khimov
Copy link
Member

Or do I need to just delete it from the metabase?

Metabase and storage should be in sync.

@End-rey End-rey force-pushed the 3486-tombstoned-object-revival-not-working branch 4 times, most recently from ce13e97 to cfb660f Compare September 2, 2025 12:32
Delete tombstone after revival. Note that deletion occurs only on the specific
node where the object is located.

Closes #3486.

Signed-off-by: Andrey Butusov <[email protected]>
@roman-khimov roman-khimov merged commit 3c66a31 into master Sep 3, 2025
22 checks passed
@roman-khimov roman-khimov deleted the 3486-tombstoned-object-revival-not-working branch September 3, 2025 15:22
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.

Tombstoned object revival not working
3 participants