[Update] Week #50 - garbage collection

First week of December was dedicated to the meetup in Sofia and presenting the current state of GC.
Valuable feedback was received - especially in the area of robustness and stability.

Second week was mostly about implementing and testing new version of GC with additional properties:

  • using 2-phase swap, for protection against shutdown in the middle of garbage collection
  • using init:restart to perform the final swap of nodes we want to retain

Restarting of the node for the swap means that the normal code path and exceptional code (ran in case of crashes) are merged into one. This allows easier testing and ensuring that we can handle all scenarios.