e76cbc9bd5
This change is refactor to move GC from metainfo loop (objects/segments) to segments loop. Change-Id: I21f1ff7cb0b6f98c41aa8930447b8d9bea227975
22 lines
835 B
Go
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
|