diff --git a/pkg/nfd-topology-gc/nfd-nrt-gc.go b/pkg/nfd-topology-gc/nfd-nrt-gc.go index 31d6dd573d..e7911e2a52 100644 --- a/pkg/nfd-topology-gc/nfd-nrt-gc.go +++ b/pkg/nfd-topology-gc/nfd-nrt-gc.go @@ -145,6 +145,9 @@ func (n *topologyGC) runGC() { // periodicGC runs garbage collector at every gcPeriod to make sure we haven't missed any node func (n *topologyGC) periodicGC(gcPeriod time.Duration) { + // Do initial round of garbage collection at startup time + n.runGC() + gcTrigger := time.NewTicker(gcPeriod) defer gcTrigger.Stop() for { @@ -171,8 +174,6 @@ func (n *topologyGC) run() error { n.factory.Start(n.stopChan) n.factory.WaitForCacheSync(n.stopChan) - n.runGC() - return nil }