storj/satellite/gc/doc.go
Michał Niewrzał e76cbc9bd5 satellite/gc: move GC to segments loop
This change is refactor to move GC from metainfo loop
(objects/segments)  to segments loop.

Change-Id: I21f1ff7cb0b6f98c41aa8930447b8d9bea227975
2021-06-01 20:36:02 +00:00

22 lines
835 B
Go

// Copyright (C) 2019 Storj Labs, Inc.
// See LICENSE for copying information.
/*
Package gc contains the functions needed to run garbage collection.
The gc.PieceTracker implements the segments loop Observer interface
allowing us to subscribe to the loop to get information for every segment
in the metabase db.
The gc.PieceTracker handling functions are used by the gc.Service to periodically
account for all existing pieces on storage nodes and create "retain requests"
which contain a bloom filter of all pieces that possibly exist on a storage node.
The gc.Service will send that request to the storagenode after a full segments loop
iteration, and the storage node will use that request to delete the "garbage" pieces
that are not in the bloom filter.
See storj/docs/design/garbage-collection.md for more info.
*/
package gc