Skip to content

Commit b2b2026

Browse files
cluster: log warning when retention values are invalid
1 parent e9036ee commit b2b2026

File tree

2 files changed

+35
-27
lines changed

2 files changed

+35
-27
lines changed

pkg/cluster/spec/monitoring.go

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
"github.com/pingcap/tiup/pkg/cluster/ctxt"
3131
"github.com/pingcap/tiup/pkg/cluster/template/config"
3232
"github.com/pingcap/tiup/pkg/cluster/template/scripts"
33+
logprinter "github.com/pingcap/tiup/pkg/logger/printer"
3334
"github.com/pingcap/tiup/pkg/meta"
3435
"github.com/pingcap/tiup/pkg/set"
3536
"github.com/pingcap/tiup/pkg/utils"
@@ -284,12 +285,13 @@ func (i *MonitorInstance) InitConfig(
284285
AdditionalArgs: spec.AdditionalArgs,
285286
}
286287
// Set retention policy
287-
if spec.RetentionTime == "" {
288-
cfg.RetentionTime = getRetentionTime(spec.Retention)
288+
logPtr := ctx.Value(logprinter.ContextKeyLogger).(*logprinter.Logger)
289+
if spec.RetentionTime == "" { // keep backward compatiability
290+
cfg.RetentionTime = getRetentionTime(logPtr, spec.Retention)
289291
} else {
290-
cfg.RetentionTime = getRetentionTime(spec.RetentionTime)
292+
cfg.RetentionTime = getRetentionTime(logPtr, spec.RetentionTime)
291293
}
292-
cfg.RetentionSize = getRetentionSize(spec.RetentionSize)
294+
cfg.RetentionSize = getRetentionSize(logPtr, spec.RetentionSize)
293295

294296
// Check if agent mode is enabled in additional arguments
295297
if !cfg.EnablePromAgentMode {
@@ -683,19 +685,25 @@ func mergeAdditionalScrapeConf(source string, addition map[string]any) error {
683685
return utils.WriteFile(source, bytes, 0644)
684686
}
685687

686-
func getRetentionSize(retention string) string {
688+
func getRetentionSize(l *logprinter.Logger, retention string) string {
687689
retention = strings.ToUpper(strings.TrimSpace(retention))
688690
valid, _ := regexp.MatchString("^[1-9]\\d*(B|KB|MB|GB|TB|PB|EB)$", retention)
689691
if retention == "" || !valid {
692+
if !valid && l != nil {
693+
l.Warnf("invalid retention size %s, ignored.", retention)
694+
}
690695
return ""
691696
}
692697
return retention
693698
}
694699

695-
func getRetentionTime(retention string) string {
700+
func getRetentionTime(l *logprinter.Logger, retention string) string {
696701
retention = strings.TrimSpace(retention)
697702
valid, _ := regexp.MatchString("^[1-9]\\d*d$", retention)
698703
if retention == "" || !valid {
704+
if !valid && l != nil {
705+
l.Warnf("invalid retention time %s, using 30d as default", retention)
706+
}
699707
return "30d"
700708
}
701709
return retention

pkg/cluster/spec/monitoring_test.go

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -229,67 +229,67 @@ scrape_configs:
229229

230230
func TestGetRetention(t *testing.T) {
231231
var val string
232-
val = getRetentionTime("-1d")
232+
val = getRetentionTime(nil, "-1d")
233233
assert.EqualValues(t, "30d", val)
234234

235-
val = getRetentionTime("0d")
235+
val = getRetentionTime(nil, "0d")
236236
assert.EqualValues(t, "30d", val)
237237

238-
val = getRetentionTime("01d")
238+
val = getRetentionTime(nil, "01d")
239239
assert.EqualValues(t, "30d", val)
240240

241-
val = getRetentionTime("1dd")
241+
val = getRetentionTime(nil, "1dd")
242242
assert.EqualValues(t, "30d", val)
243243

244-
val = getRetentionTime("*1d")
244+
val = getRetentionTime(nil, "*1d")
245245
assert.EqualValues(t, "30d", val)
246246

247-
val = getRetentionTime("1d ")
247+
val = getRetentionTime(nil, "1d ")
248248
assert.EqualValues(t, "1d", val)
249249

250-
val = getRetentionTime(" 1d")
250+
val = getRetentionTime(nil, " 1d")
251251
assert.EqualValues(t, "1d", val)
252252

253-
val = getRetentionTime("ddd")
253+
val = getRetentionTime(nil, "ddd")
254254
assert.EqualValues(t, "30d", val)
255255

256-
val = getRetentionTime("60d")
256+
val = getRetentionTime(nil, "60d")
257257
assert.EqualValues(t, "60d", val)
258258

259-
val = getRetentionTime("999d")
259+
val = getRetentionTime(nil, "999d")
260260
assert.EqualValues(t, "999d", val)
261261

262-
val = getRetentionSize("-1MB")
262+
val = getRetentionSize(nil, "-1MB")
263263
assert.EqualValues(t, "", val)
264264

265-
val = getRetentionSize("30d")
265+
val = getRetentionSize(nil, "30d")
266266
assert.EqualValues(t, "", val)
267267

268-
val = getRetentionSize("1k")
268+
val = getRetentionSize(nil, "1k")
269269
assert.EqualValues(t, "", val)
270270

271-
val = getRetentionSize("01G")
271+
val = getRetentionSize(nil, "01G")
272272
assert.EqualValues(t, "", val)
273273

274-
val = getRetentionSize("233mb")
274+
val = getRetentionSize(nil, "233mb")
275275
assert.EqualValues(t, "233MB", val)
276276

277-
val = getRetentionSize("*1GB")
277+
val = getRetentionSize(nil, "*1GB")
278278
assert.EqualValues(t, "", val)
279279

280-
val = getRetentionSize("20GB ")
280+
val = getRetentionSize(nil, "20GB ")
281281
assert.EqualValues(t, "20GB", val)
282282

283-
val = getRetentionSize(" 20GB")
283+
val = getRetentionSize(nil, " 20GB")
284284
assert.EqualValues(t, "20GB", val)
285285

286-
val = getRetentionSize("3TB")
286+
val = getRetentionSize(nil, "3TB")
287287
assert.EqualValues(t, "3TB", val)
288288

289-
val = getRetentionSize("30GB")
289+
val = getRetentionSize(nil, "30GB")
290290
assert.EqualValues(t, "30GB", val)
291291

292-
val = getRetentionSize("1EB")
292+
val = getRetentionSize(nil, "1EB")
293293
assert.EqualValues(t, "1EB", val)
294294
}
295295

0 commit comments

Comments
 (0)