From 18973ce8efc5f66c5e24daa47e4dc3e1b0e92aab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E6=B5=A9?= Date: Sat, 6 Feb 2021 11:28:24 +0800 Subject: [PATCH 1/4] reproduce timeout issue #8809 --- plugins/inputs/x509_cert/x509_cert_test.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/plugins/inputs/x509_cert/x509_cert_test.go b/plugins/inputs/x509_cert/x509_cert_test.go index 0a0d0575adadc..f79458cbc89ea 100644 --- a/plugins/inputs/x509_cert/x509_cert_test.go +++ b/plugins/inputs/x509_cert/x509_cert_test.go @@ -3,6 +3,7 @@ package x509_cert import ( "crypto/tls" "encoding/base64" + "errors" "fmt" "io/ioutil" "math/big" @@ -366,6 +367,23 @@ func TestGatherCertMustNotTimeout(t *testing.T) { assert.True(t, acc.HasMeasurement("x509_cert")) } +func TestGatherCertMustTimeoutWithNoDuration(t *testing.T) { + if testing.Short() { + t.Skip("Skipping integration test in short mode") + } + m := &X509Cert{ + Sources: []string{"https://www.influxdata.com:443"}, + Timeout: internal.Duration{Duration: 5}, // duration is set to 5 when adding to inputs + } + m.Init() + + var acc testutil.Accumulator + err := m.Gather(&acc) + require.NoError(t, err) + require.Contains(t, acc.Errors, errors.New("cannot get SSL cert 'https://www.influxdata.com:443': dial tcp: i/o timeout")) + assert.False(t, acc.HasMeasurement("x509_cert")) +} + func TestServerName(t *testing.T) { tests := []struct { name string From ac4cda10960b511318b8bed54de2aa47776c80aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E6=B5=A9?= Date: Sat, 6 Feb 2021 11:28:55 +0800 Subject: [PATCH 2/4] fix timeout issue #8809 --- plugins/inputs/x509_cert/x509_cert.go | 1 - plugins/inputs/x509_cert/x509_cert_test.go | 18 ------------------ 2 files changed, 19 deletions(-) diff --git a/plugins/inputs/x509_cert/x509_cert.go b/plugins/inputs/x509_cert/x509_cert.go index 529b4c76dfc2d..9bded78b6ede9 100644 --- a/plugins/inputs/x509_cert/x509_cert.go +++ b/plugins/inputs/x509_cert/x509_cert.go @@ -280,7 +280,6 @@ func init() { inputs.Add("x509_cert", func() telegraf.Input { return &X509Cert{ Sources: []string{}, - Timeout: internal.Duration{Duration: 5}, } }) } diff --git a/plugins/inputs/x509_cert/x509_cert_test.go b/plugins/inputs/x509_cert/x509_cert_test.go index f79458cbc89ea..0a0d0575adadc 100644 --- a/plugins/inputs/x509_cert/x509_cert_test.go +++ b/plugins/inputs/x509_cert/x509_cert_test.go @@ -3,7 +3,6 @@ package x509_cert import ( "crypto/tls" "encoding/base64" - "errors" "fmt" "io/ioutil" "math/big" @@ -367,23 +366,6 @@ func TestGatherCertMustNotTimeout(t *testing.T) { assert.True(t, acc.HasMeasurement("x509_cert")) } -func TestGatherCertMustTimeoutWithNoDuration(t *testing.T) { - if testing.Short() { - t.Skip("Skipping integration test in short mode") - } - m := &X509Cert{ - Sources: []string{"https://www.influxdata.com:443"}, - Timeout: internal.Duration{Duration: 5}, // duration is set to 5 when adding to inputs - } - m.Init() - - var acc testutil.Accumulator - err := m.Gather(&acc) - require.NoError(t, err) - require.Contains(t, acc.Errors, errors.New("cannot get SSL cert 'https://www.influxdata.com:443': dial tcp: i/o timeout")) - assert.False(t, acc.HasMeasurement("x509_cert")) -} - func TestServerName(t *testing.T) { tests := []struct { name string From 5457a0359e56eca9df0d4a1205a6801cc09df971 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E6=B5=A9?= Date: Mon, 8 Feb 2021 09:58:58 +0800 Subject: [PATCH 3/4] set default timeout to 5s --- plugins/inputs/x509_cert/x509_cert.go | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/inputs/x509_cert/x509_cert.go b/plugins/inputs/x509_cert/x509_cert.go index 9bded78b6ede9..4e7aee8391cf6 100644 --- a/plugins/inputs/x509_cert/x509_cert.go +++ b/plugins/inputs/x509_cert/x509_cert.go @@ -280,6 +280,7 @@ func init() { inputs.Add("x509_cert", func() telegraf.Input { return &X509Cert{ Sources: []string{}, + Timeout: internal.Duration{Duration: 5 * time.Second}, } }) } From 7dc1f5be3e9fd9c41b0fd34a8e60981ad433ac83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E6=B5=A9?= Date: Fri, 12 Feb 2021 17:16:54 +0800 Subject: [PATCH 4/4] closes #8809 --- plugins/inputs/x509_cert/x509_cert.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/inputs/x509_cert/x509_cert.go b/plugins/inputs/x509_cert/x509_cert.go index 4e7aee8391cf6..6ad87a9e0fdda 100644 --- a/plugins/inputs/x509_cert/x509_cert.go +++ b/plugins/inputs/x509_cert/x509_cert.go @@ -280,7 +280,7 @@ func init() { inputs.Add("x509_cert", func() telegraf.Input { return &X509Cert{ Sources: []string{}, - Timeout: internal.Duration{Duration: 5 * time.Second}, + Timeout: internal.Duration{Duration: 5 * time.Second}, // set default timeout to 5s } }) }