diff --git a/controller/nucleus/gnmi_transport.go b/controller/nucleus/gnmi_transport.go index 6cef34e319a0c69c3c2e3768839d3d96c56f7688..d430a392e0ea313f2ce201434ff3dd8894016bee 100644 --- a/controller/nucleus/gnmi_transport.go +++ b/controller/nucleus/gnmi_transport.go @@ -257,12 +257,18 @@ func (g *Gnmi) ProcessControlPlaneSubscribeResponse(resp *gpb.SubscribeResponse_ } notification := resp.Update - if err := g.processResponseUpdates(notification.Update, dModel, root.(ygot.ValidatedGoStruct), schema); err != nil { - return err + + if len(notification.Update) > 0 { + if err := g.processResponseUpdates(notification.Update, dModel, root.(ygot.ValidatedGoStruct), schema); err != nil { + return err + } } + //TODO: maybe remove and combine into one function/method! - if err := g.processResponseDeletes(notification.Delete, dModel, schema); err != nil { - return err + if len(notification.Delete) > 0 { + if err := g.processResponseDeletes(notification.Delete, dModel, schema); err != nil { + return err + } } return nil