[VOL-4548] openonuAdapterGo - memory leak seen in long term tests
Change-Id: Ie3eb2048cebf8bf8b2f2a99ccd927d462000223a
diff --git a/internal/pkg/mib/onu_device_entry.go b/internal/pkg/mib/onu_device_entry.go
index 26c346d..47c7b90 100755
--- a/internal/pkg/mib/onu_device_entry.go
+++ b/internal/pkg/mib/onu_device_entry.go
@@ -986,3 +986,14 @@
oo.mutexReconcilingFlowsFlag.RUnlock()
return value
}
+
+// PrepareForGarbageCollection - remove references to prepare for garbage collection
+func (oo *OnuDeviceEntry) PrepareForGarbageCollection(ctx context.Context, aDeviceID string) {
+ logger.Debugw(ctx, "prepare for garbage collection", log.Fields{"device-id": aDeviceID})
+ oo.baseDeviceHandler = nil
+ oo.pOnuTP = nil
+ if oo.PDevOmciCC != nil {
+ oo.PDevOmciCC.PrepareForGarbageCollection(ctx, aDeviceID)
+ }
+ oo.PDevOmciCC = nil
+}