Skip to content

Commit

Permalink
ILM history indices are removed during policy removal
Browse files Browse the repository at this point in the history
  • Loading branch information
UyumazHakan committed Nov 23, 2022
1 parent 9a37509 commit b0aeb1f
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 2 deletions.
24 changes: 24 additions & 0 deletions es.go
Original file line number Diff line number Diff line change
Expand Up @@ -710,6 +710,18 @@ func (c *Client) GetIndices(index string) ([]Index, error) {
return indices, nil
}

// Get a subset of indices including hidden ones
func (c *Client) GetHiddenIndices(index string) ([]Index, error) {
var indices []Index
err := handleErrWithStruct(c.buildGetRequest(fmt.Sprintf("_cat/indices/%s?h=health,status,index,pri,rep,store.size,docs.count&expand_wildcards=open,closed,hidden", index)), &indices)

if err != nil {
return nil, err
}

return indices, nil
}

// Get all the aliases in the cluster.
//
// Use case: You want to see some basic info on all the aliases of the cluster
Expand Down Expand Up @@ -1683,5 +1695,17 @@ func (c *Client) RemoveIndexILMPolicy(index string) error {
return err
}

ilmHistoryIndices, err := c.GetHiddenIndices(fmt.Sprintf("%s*.ds-ilm-history-*", index))
if err != nil {
return err
}

for _, ilmHistoryIndex := range ilmHistoryIndices {
err = c.DeleteIndex(ilmHistoryIndex.Name)
if err != nil {
return err
}
}

return nil
}
9 changes: 7 additions & 2 deletions es_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2214,12 +2214,17 @@ func TestAllocateStalePrimaryShard(t *testing.T) {
}

func TestRemoveIndexILMPolicy(t *testing.T) {
testSetup := &ServerSetup{
ilmRemoveTestSetup := &ServerSetup{
Method: "POST",
Path: "/test-index/_ilm/remove",
}
getIndicesTestSetup := &ServerSetup{
Method: "GET",
Path: "/_cat/indices/test-index*.ds-ilm-history-*",
Response: "[]",
}

host, port, ts := setupTestServers(t, []*ServerSetup{testSetup})
host, port, ts := setupTestServers(t, []*ServerSetup{ilmRemoveTestSetup, getIndicesTestSetup})
defer ts.Close()
client := NewClient(host, port)

Expand Down

0 comments on commit b0aeb1f

Please sign in to comment.