[VOL-3767] Log instead of throwing errors when deletion target is not found
Change-Id: I497fa7f41bb4fe2ec6662832b5d7c8cb45f17699
diff --git a/internal/pkg/core/device_handler.go b/internal/pkg/core/device_handler.go
index 7e6ef2c..140158a 100644
--- a/internal/pkg/core/device_handler.go
+++ b/internal/pkg/core/device_handler.go
@@ -1745,7 +1745,17 @@
err = dh.flowMgr[intfID].RouteFlowToOnuChannel(ctx, flow, false, nil)
}
if err != nil {
- errorsList = append(errorsList, err)
+ if werr, ok := err.(olterrors.WrappedError); ok && status.Code(werr.Unwrap()) == codes.NotFound {
+ //The flow we want to remove is not there, there is no need to throw an error
+ logger.Warnw(ctx, "flow-to-remove-not-found",
+ log.Fields{
+ "ponIf": intfID,
+ "flowToRemove": flow,
+ "error": err,
+ })
+ } else {
+ errorsList = append(errorsList, err)
+ }
}
}