Skip to content

Prohibit locking tombstoned objects in storage#3495

Merged
roman-khimov merged 7 commits intomasterfrom
bugfix/3492-locking-tombstoned
Aug 5, 2025
Merged

Prohibit locking tombstoned objects in storage#3495
roman-khimov merged 7 commits intomasterfrom
bugfix/3492-locking-tombstoned

Conversation

@cthulhu-rider
Copy link
Contributor

No description provided.

@codecov
Copy link

codecov bot commented Jul 31, 2025

Codecov Report

❌ Patch coverage is 78.68852% with 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 23.58%. Comparing base (5d20065) to head (73b39fe).

Files with missing lines Patch % Lines
pkg/local_object_storage/metabase/put.go 64.70% 4 Missing and 2 partials ⚠️
pkg/local_object_storage/engine/lock.go 82.60% 3 Missing and 1 partial ⚠️
pkg/local_object_storage/metabase/lock.go 84.21% 2 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3495      +/-   ##
==========================================
+ Coverage   23.46%   23.58%   +0.12%     
==========================================
  Files         669      669              
  Lines       50243    50257      +14     
==========================================
+ Hits        11788    11852      +64     
+ Misses      37535    37486      -49     
+ Partials      920      919       -1     

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

@cthulhu-rider cthulhu-rider force-pushed the bugfix/3492-locking-tombstoned branch 6 times, most recently from 998dae3 to 925032b Compare July 31, 2025 16:02
@cthulhu-rider cthulhu-rider marked this pull request as ready for review July 31, 2025 17:19
@cthulhu-rider cthulhu-rider force-pushed the bugfix/3492-locking-tombstoned branch 2 times, most recently from 43c2588 to 73b39fe Compare August 4, 2025 09:30
Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
Resync routine already ignores 'already removed' errors, therefore, the
presence of both T and L in the BLOB storage will not stop the process:
if L (T) object is written into metabase, T (L) is ignored.

In the future, similar change will be made at higher levels, which will
practically eliminate the possibility of having both L and T in single
shard.

Refs #3492.

Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
Refs #3492.

Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
Closes #3492.

Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
Metabase may have lock mark for some object that is not stored. In this
case, removal marking via tombstone associated with the object should be
prohibited. Previously, it was not due to specific condition in target
type check.

This fixes type check to not prevent lock mark being handled.

Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
@cthulhu-rider cthulhu-rider force-pushed the bugfix/3492-locking-tombstoned branch from 73b39fe to 1599ecb Compare August 4, 2025 11:40
@roman-khimov roman-khimov merged commit 5838ae9 into master Aug 5, 2025
19 checks passed
@roman-khimov roman-khimov deleted the bugfix/3492-locking-tombstoned branch August 5, 2025 10:19
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.

2 participants