From 249bcd25d56639009ec370bafe626bc171b8fe45 Mon Sep 17 00:00:00 2001 From: Sven Rebhan <36194019+srebhan@users.noreply.github.com> Date: Thu, 5 Aug 2021 17:54:29 +0200 Subject: [PATCH] fix: Do not return on disconnect to avoid breaking reconnect (#9524) --- plugins/inputs/opcua/opcua_client.go | 4 +++- plugins/inputs/opcua/opcua_client_test.go | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/inputs/opcua/opcua_client.go b/plugins/inputs/opcua/opcua_client.go index 765488738..8a5d8a58b 100644 --- a/plugins/inputs/opcua/opcua_client.go +++ b/plugins/inputs/opcua/opcua_client.go @@ -407,7 +407,9 @@ func Connect(o *OpcUA) error { if o.client != nil { if err := o.client.CloseSession(); err != nil { - return err + // Only log the error but to not bail-out here as this prevents + // reconnections for multiple parties (see e.g. #9523). + o.Log.Errorf("Closing session failed: %v", err) } } diff --git a/plugins/inputs/opcua/opcua_client_test.go b/plugins/inputs/opcua/opcua_client_test.go index b509d2eaf..4c7805578 100644 --- a/plugins/inputs/opcua/opcua_client_test.go +++ b/plugins/inputs/opcua/opcua_client_test.go @@ -8,6 +8,7 @@ import ( "github.com/influxdata/telegraf/config" "github.com/influxdata/telegraf/testutil" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -44,7 +45,6 @@ func TestClient1Integration(t *testing.T) { o.SecurityPolicy = "None" o.SecurityMode = "None" o.Log = testutil.Logger{} - for _, tags := range testopctags { o.RootNodes = append(o.RootNodes, MapOPCTag(tags)) }