Skip to content

Commit ecbc3a6

Browse files
committed
fix(es): Treat index date separator as literal
Signed-off-by: viiccwen <vicwen@apache.org>
1 parent 18f9d8f commit ecbc3a6

2 files changed

Lines changed: 29 additions & 1 deletion

File tree

cmd/es-index-cleaner/app/index_filter.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ func (i *IndexFilter) filterByPattern(indices []esclient.Index) []esclient.Index
4141
case i.Rollover:
4242
reg, _ = regexp.Compile(fmt.Sprintf("^%sjaeger-(span|service|dependencies|sampling)-\\d{6}", i.IndexPrefix))
4343
default:
44-
reg, _ = regexp.Compile(fmt.Sprintf("^%sjaeger-(span|service|dependencies|sampling)-\\d{4}%s\\d{2}%s\\d{2}", i.IndexPrefix, i.IndexDateSeparator, i.IndexDateSeparator))
44+
dateSeparator := regexp.QuoteMeta(i.IndexDateSeparator)
45+
reg, _ = regexp.Compile(fmt.Sprintf("^%sjaeger-(span|service|dependencies|sampling)-\\d{4}%s\\d{2}%s\\d{2}", i.IndexPrefix, dateSeparator, dateSeparator))
4546
}
4647

4748
var filtered []esclient.Index

cmd/es-index-cleaner/app/index_filter_test.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,16 @@ func runIndexFilterTest(t *testing.T, prefix string) {
6363
CreationTime: time.Date(2020, time.August, 5, 15, 0, 0, 0, time.UTC),
6464
Aliases: map[string]bool{},
6565
},
66+
{
67+
Index: prefix + "jaeger-span-2020.08.05",
68+
CreationTime: time.Date(2020, time.August, 5, 15, 0, 0, 0, time.UTC),
69+
Aliases: map[string]bool{},
70+
},
71+
{
72+
Index: prefix + "jaeger-span-2020x08x05",
73+
CreationTime: time.Date(2020, time.August, 5, 15, 0, 0, 0, time.UTC),
74+
Aliases: map[string]bool{},
75+
},
6676
{
6777
Index: prefix + "jaeger-span-archive",
6878
CreationTime: time.Date(2020, time.August, 1, 15, 0, 0, 0, time.UTC),
@@ -192,6 +202,23 @@ func runIndexFilterTest(t *testing.T, prefix string) {
192202
},
193203
},
194204
},
205+
{
206+
name: "normal indices with dot separator match separator literally",
207+
filter: &IndexFilter{
208+
IndexPrefix: prefix,
209+
IndexDateSeparator: ".",
210+
Archive: false,
211+
Rollover: false,
212+
DeleteBeforeThisDate: time20200807.Add(-time.Hour * 24 * time.Duration(1)),
213+
},
214+
expected: []esclient.Index{
215+
{
216+
Index: prefix + "jaeger-span-2020.08.05",
217+
CreationTime: time.Date(2020, time.August, 5, 15, 0, 0, 0, time.UTC),
218+
Aliases: map[string]bool{},
219+
},
220+
},
221+
},
195222
{
196223
name: "normal indices, remove older 0 days - it should remove all indices",
197224
filter: &IndexFilter{

0 commit comments

Comments
 (0)