Skip to content

Commit e6fcd04

Browse files
committed
Address review comments
1 parent 82448c1 commit e6fcd04

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

cmd/thanos/receive.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1087,7 +1087,7 @@ func (rc *receiveConfig) registerFlag(cmd extkingpin.FlagClause) {
10871087

10881088
rc.relabelConfigPath = extflag.RegisterPathOrContent(cmd, "receive.relabel-config", "YAML file that contains relabeling configuration.", extflag.WithEnvSubstitution())
10891089
cmd.Flag("receive.relabel-config-reload-timer", "Minimum amount of time to pass for the relabel configuration to be reloaded. Helps to avoid excessive reloads.").
1090-
Default("1s").Hidden().DurationVar(&rc.relabelConfigReloadTimer)
1090+
Default("0s").Hidden().DurationVar(&rc.relabelConfigReloadTimer)
10911091

10921092
rc.tsdbMinBlockDuration = extkingpin.ModelDuration(cmd.Flag("tsdb.min-block-duration", "Min duration for local TSDB blocks").Default("2h").Hidden())
10931093

pkg/receive/relabeller.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,9 @@ func (r *Relabeller) StartConfigReloader(ctx context.Context) error {
134134
}
135135

136136
func (r *Relabeller) CanReload() bool {
137+
if r.configReloadTimer == 0 {
138+
return false
139+
}
137140
if r.configPathOrContent == nil {
138141
return false
139142
}

pkg/receive/relabeller_test.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@ import (
77
"context"
88
"os"
99
"path"
10+
"reflect"
1011
"testing"
1112
"time"
1213

14+
"github.com/stretchr/testify/require"
15+
1316
"gopkg.in/yaml.v2"
1417

1518
"github.com/thanos-io/thanos/pkg/extkingpin"
@@ -52,15 +55,17 @@ func TestRelabeller_ConfigReload(t *testing.T) {
5255

5356
// Rewrite the relabels file in temp with an invalid file, should not update the config.
5457
testutil.Ok(t, relabelFile.Rewrite(invalidRelabels))
55-
time.Sleep(1 * time.Second)
56-
testutil.Equals(t, origRelabelsConfig, relabeller.RelabelConfig())
58+
require.Never(t, func() bool {
59+
return !reflect.DeepEqual(origRelabelsConfig, relabeller.RelabelConfig())
60+
}, 3*time.Second, 100*time.Millisecond)
5761

5862
// Rewrite the relabels file in temp with a different valid file.
5963
testutil.Ok(t, relabelFile.Rewrite(newRelabels))
6064
newRelabelsConfig, err := parseRelabel("./testdata/relabel_config/good_relabels2.yaml")
6165
testutil.Ok(t, err)
62-
time.Sleep(1 * time.Second)
63-
testutil.Equals(t, newRelabelsConfig, relabeller.RelabelConfig())
66+
require.Eventually(t, func() bool {
67+
return reflect.DeepEqual(newRelabelsConfig, relabeller.RelabelConfig())
68+
}, 5*time.Second, 100*time.Millisecond)
6469
}
6570

6671
func parseRelabel(path string) (RelabelConfig, error) {

0 commit comments

Comments
 (0)