frostfs-node/pkg/local_object_storage/metabase
Leonard Lyubich 3ed0065455 [] metabase: Do not add tombstone-on-tombstone records to graveyard
Creating tombstones for tombstones is prohibited in NeoFS system. Metabase
graveyard contains records of the form {address: address}: key is an address
of inhumed object, value is an address of the tombstone. To prevent creation
tombstones for tombstones metabase must control incoming Inhume calls:

 * if Inhume target is a tombstone, then "grave" should not be added;
 * if {a1:a2} "grave" was created earlier and {a2: a3} "grave" came later,
   then first "grave" must be removed as tomb-on-tomb.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-19 16:19:26 +03:00
..
cleanup.go [] metabase: Keep container size estimation 2021-01-29 11:04:30 +03:00
containers.go [] metabase: Keep container size estimation 2021-01-29 11:04:30 +03:00
containers_test.go [] metabase: Keep container size estimation 2021-01-29 11:04:30 +03:00
control.go Remove outdated code of metabase and localstore 2020-12-11 17:19:37 +03:00
db.go [] metabase: Support new match types 2021-02-03 10:32:15 +03:00
db_test.go [] engine: Make tests more predictable 2021-01-21 11:00:23 +03:00
delete.go [] metabase: Count parent references in Delete operation 2021-02-18 09:54:19 +03:00
delete_test.go [] metabase: Count parent references in Delete operation 2021-02-18 09:54:19 +03:00
exists.go [] metabase: Support raw flag in Get method 2020-12-11 17:19:37 +03:00
exists_test.go [] metabase: Structure parameters and results of all operations 2020-12-11 17:19:37 +03:00
get.go [] metabase: Support raw flag in Get method 2020-12-11 17:19:37 +03:00
get_test.go [] metabase: Support raw flag in Get method 2020-12-11 17:19:37 +03:00
graveyard.go [] metabase: Add the ability to break the loop in IterateOverGraveyard 2021-02-19 11:56:32 +03:00
graveyard_test.go [] metabase: Implement iterator over metabase graveyard 2021-02-19 11:56:32 +03:00
info.go Remove outdated code of metabase and localstore 2020-12-11 17:19:37 +03:00
inhume.go [] metabase: Do not add tombstone-on-tombstone records to graveyard 2021-02-19 16:19:26 +03:00
inhume_test.go [] metabase: Do not add tombstone-on-tombstone records to graveyard 2021-02-19 16:19:26 +03:00
iterators.go [] metabase: Calculate expiration once for each fake bucket 2021-02-19 11:56:32 +03:00
iterators_test.go [] metabase: Implement iterator over the objects under tombstones 2021-02-19 11:56:32 +03:00
movable.go [] shard/gc: Reuse addressFromKey func in all appropriate places 2021-02-19 11:56:32 +03:00
movable_test.go [] metabase: Structure parameters and results of all operations 2020-12-11 17:19:37 +03:00
put.go [] metabase: Keep container size estimation 2021-01-29 11:04:30 +03:00
put_test.go [] metabase: Structure parameters and results of all operations 2020-12-11 17:19:37 +03:00
select.go [] shard/gc: Reuse addressFromKey func in all appropriate places 2021-02-19 11:56:32 +03:00
select_test.go [] metabase: Support new match types 2021-02-03 10:32:15 +03:00
small.go [] metabase: Structure parameters and results of all operations 2020-12-11 17:19:37 +03:00
small_test.go [] metabase: Structure parameters and results of all operations 2020-12-11 17:19:37 +03:00
util.go [] metabase: Implement iterator over expired objects 2021-02-19 11:56:32 +03:00