Skip to content

Policer drops tombstones from backup container SN #3587

@cthulhu-rider

Description

@cthulhu-rider

both TOMBSTONE (T) and LOCK (L) are broadcast on PUT

broadcast := typ == objectSDK.TypeTombstone || typ == objectSDK.TypeLink || (!t.localOnly && typ == objectSDK.TypeLock) || len(obj.Children()) > 0

then, if there are more container SN than REP rule, Policer on each backup SN detects the redundancy and removes T

unlike T, L is kept (6347920)

Expected Behavior

L and T behave the same way, i.e. T are kept on all container SN

Current Behavior

T behaves like REGULAR object, i.e. dropped on REP rule excess

Possible Solution

make Policer to handle T like L

Steps to Reproduce (for bugs)

  1. run devenv
  2. create container REP 2
  3. PUT object into it
  4. DELETE the object
  5. see SN log
info	log/log.go:12	local object storage operation	{"shard_id": "2g2djqWgsfayAMWJLt9sBZ", "address": "3XdN8zuk712P53RqNCgh1vN6M6XdpmqjEmtcymPRdQ3c/HPy78BLzFagshQvg859DSYrQfAemqin8fycyPf6FnnaL", "op": "PUT"}
info	log/log.go:12	local object storage operation	{"shard_id": "2g2djqWgsfayAMWJLt9sBZ", "address": "3XdN8zuk712P53RqNCgh1vN6M6XdpmqjEmtcymPRdQ3c/HPy78BLzFagshQvg859DSYrQfAemqin8fycyPf6FnnaL", "op": "metabase PUT"}
info	log/log.go:12	local object storage operation	{"shard_id": "2g2djqWgsfayAMWJLt9sBZ", "address": "3XdN8zuk712P53RqNCgh1vN6M6XdpmqjEmtcymPRdQ3c/4HmW3MbpUnByx3vYb75QzhEvBnNUTjgXoskrdHQSKU3q", "op": "PUT"}
info	log/log.go:12	local object storage operation	{"shard_id": "2g2djqWgsfayAMWJLt9sBZ", "address": "3XdN8zuk712P53RqNCgh1vN6M6XdpmqjEmtcymPRdQ3c/4HmW3MbpUnByx3vYb75QzhEvBnNUTjgXoskrdHQSKU3q", "op": "metabase PUT"}
info	policer/check.go:194	local replica of the object is redundant in the container, removing...	{"component": "Object Policer", "object": "3XdN8zuk712P53RqNCgh1vN6M6XdpmqjEmtcymPRdQ3c/4HmW3MbpUnByx3vYb75QzhEvBnNUTjgXoskrdHQSKU3q"}
info	log/log.go:12	local object storage operation	{"shard_id": "2g2djqWgsfayAMWJLt9sBZ", "address": "3XdN8zuk712P53RqNCgh1vN6M6XdpmqjEmtcymPRdQ3c/4HmW3MbpUnByx3vYb75QzhEvBnNUTjgXoskrdHQSKU3q", "op": "metabase DELETE"}
info	log/log.go:12	local object storage operation	{"shard_id": "2g2djqWgsfayAMWJLt9sBZ", "address": "3XdN8zuk712P53RqNCgh1vN6M6XdpmqjEmtcymPRdQ3c/HPy78BLzFagshQvg859DSYrQfAemqin8fycyPf6FnnaL", "op": "metabase DELETE"}
info	log/log.go:12	local object storage operation	{"shard_id": "2g2djqWgsfayAMWJLt9sBZ", "address": "3XdN8zuk712P53RqNCgh1vN6M6XdpmqjEmtcymPRdQ3c/4HmW3MbpUnByx3vYb75QzhEvBnNUTjgXoskrdHQSKU3q", "op": "DELETE"}
info	log/log.go:12	local object storage operation	{"shard_id": "2g2djqWgsfayAMWJLt9sBZ", "address": "3XdN8zuk712P53RqNCgh1vN6M6XdpmqjEmtcymPRdQ3c/HPy78BLzFagshQvg859DSYrQfAemqin8fycyPf6FnnaL", "op": "DELETE"}

Context

#526

Regression

no

Your Environment

Metadata

Metadata

Assignees

No one assigned

    Labels

    I4No visible changesS3Minimally significantU3RegularbugSomething isn't workingneofs-storageStorage node application issues

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions