From c568b59639945a337ef6b96402cc6a3f6389d05c Mon Sep 17 00:00:00 2001 From: Daniel Nelson Date: Tue, 21 Jul 2020 15:24:45 -0700 Subject: [PATCH] Recv next message after send returns EOF (#7872) (cherry picked from commit b9a71880d7566e99536405d7ac7fff8ef425ccd5) --- plugins/inputs/gnmi/gnmi.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/inputs/gnmi/gnmi.go b/plugins/inputs/gnmi/gnmi.go index 6fa5d2186127b..3c5826ba40033 100644 --- a/plugins/inputs/gnmi/gnmi.go +++ b/plugins/inputs/gnmi/gnmi.go @@ -217,7 +217,11 @@ func (c *GNMI) subscribeGNMI(ctx context.Context, address string, tlscfg *tls.Co } if err = subscribeClient.Send(request); err != nil { - return fmt.Errorf("failed to send subscription request: %v", err) + // If io.EOF is returned, the stream may have ended and stream status + // can be determined by calling Recv. + if err != io.EOF { + return fmt.Errorf("failed to send subscription request: %v", err) + } } c.Log.Debugf("Connection to gNMI device %s established", address)