There is a very important feature missing from BagderDB: the garbage collector for database vlog files.
We have experienced database outage due to "no space left on device" errors, an internal investigation led to the conclusion that the database vlogs were increasing at each restart and never collected, ultimately leading to the disk being completely filled with vlogs.
If merged this PR it can be further extended by add 2 new flags --gc-interval=5m --gc-discard-ratio=0.5 as well as a context that can be used to cancel the garbage collector.
There is a very important feature missing from BagderDB: the garbage collector for database vlog files. We have experienced database outage due to "no space left on device" errors, an internal investigation led to the conclusion that the database vlogs were increasing at each restart and never collected, ultimately leading to the disk being completely filled with vlogs.
This PR introduces a garbage collector routine as described in https://dgraph.io/docs/badger/get-started/#garbage-collection
If merged this PR it can be further extended by add 2 new flags
--gc-interval=5m --gc-discard-ratio=0.5
as well as a context that can be used to cancel the garbage collector.