Conversation
| // object was available before the removal (for calculating the logical object | ||
| // counter). The third return value is removed object payload size. | ||
| func (db *DB) delete(tx *bbolt.Tx, addr oid.Address, currEpoch uint64) (bool, bool, uint64, error) { | ||
| func (db *DB) delete(tx *bbolt.Tx, addr oid.Address) (bool, bool, uint64, error) { |
There was a problem hiding this comment.
do not call for epoch if not needed
it is never needed
There was a problem hiding this comment.
in some other places, we still call it, and actual epoch is important but not there
| if removeAvailableObject { | ||
| err = changeContainerInfo(tx, cID, -int(payloadSize), -1) | ||
| if err != nil { | ||
| return true, removeAvailableObject, payloadSize, fmt.Errorf("can't update container info: %w", err) |
There was a problem hiding this comment.
no point in non-zero results with error
There was a problem hiding this comment.
for some reason, this time i decided to highlight that this is not critical and returned values are ok, but container info changing routine failed. dont mind dropping non-zeor values
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3615 +/- ##
=======================================
Coverage 26.58% 26.59%
=======================================
Files 653 653
Lines 50006 50009 +3
=======================================
+ Hits 13296 13298 +2
- Misses 35661 35663 +2
+ Partials 1049 1048 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
After #3582, GC does not work with `Inhume` calls and drops objects directly as it sees them expired. This breaks object counters since `Delete` call did not update them. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
6048440 to
1b91ec5
Compare
No description provided.