frostfs-node/pkg/local_object_storage/shard
Leonard Lyubich 13087dc3dd [#378] shard: Implement skeleton of internal GC
Shard's GC component consists of:
 * asynchronous remover that periodically wake up and removes all garbage
   objects from the shard, and goes to sleep for particular time interval;
 * external event listener that distributes jobs between workers;
 * group of workers that can handle a single job related to particular
   external event.

Remover and event listener represents go-routines which are started by
`init` method (calls from `Shard.Init`). In initial version all event
handlers are interrupted: this means that next event of the same type will
interrupt previous handling and start the new one.

GC is fully encapsulated in Shard. All GC configurations are reflected in
Shard's configuration.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-19 11:56:32 +03:00
..
container.go [#337] shard: Get container size estimation from metabase 2021-01-29 11:04:30 +03:00
control.go [#323] storage/shard: Fix message of the error returned by Open method 2021-01-18 18:53:39 +03:00
delete.go [#302] Fix whitespace linter errors 2021-01-12 18:47:02 +03:00
delete_test.go [#230] engine: Rename `WithAddress` to `WithAddresses` for delete operations 2020-12-11 17:19:37 +03:00
exists.go [#237] metabase: Structure parameters and results of all operations 2020-12-11 17:19:37 +03:00
gc.go [#378] shard: Implement skeleton of internal GC 2021-02-19 11:56:32 +03:00
get.go [#237] metabase: Structure parameters and results of all operations 2020-12-11 17:19:37 +03:00
get_test.go [#230] shard: Add test for getting SplitInfo 2020-12-11 17:19:37 +03:00
head.go [#238] shard: Support raw flag in Head method 2020-12-11 17:19:37 +03:00
head_test.go [#238] shard: Support raw flag in Head method 2020-12-11 17:19:37 +03:00
id.go [#189] shard: Implement DumpInfo method 2020-12-11 17:19:37 +03:00
info.go [#222] Use write cache options in storage app 2020-12-11 17:19:37 +03:00
inhume.go [#377] shard: Support batch Inhume operation 2021-02-19 11:56:32 +03:00
inhume_test.go [#377] shard: Support batch Inhume operation 2021-02-19 11:56:32 +03:00
list.go [#337] engine: Add container listing for both engine and shard 2021-01-29 11:04:30 +03:00
list_test.go [#231] shard: Add List method to return all available objects 2020-12-11 17:19:37 +03:00
mode.go [#189] shard: Fix missing return statement in SetMode method 2020-12-11 17:19:37 +03:00
move.go [#237] metabase: Structure parameters and results of all operations 2020-12-11 17:19:37 +03:00
put.go [#237] metabase: Structure parameters and results of all operations 2020-12-11 17:19:37 +03:00
range.go [#235] blobstor: Return object.ErrRangeOutOfBounds from shallow dir 2020-12-11 17:19:37 +03:00
select.go [#242] shard: Support ContainerID argument in metabase selects 2020-12-11 17:19:37 +03:00
shard.go [#378] shard: Implement skeleton of internal GC 2021-02-19 11:56:32 +03:00
shard_test.go [#334] engine: Make tests more predictable 2021-01-21 11:00:23 +03:00
weight.go [#189] shard: Extend Info with WeightValues 2020-12-11 17:19:37 +03:00