Graylog2 / Graylog2/graylog2-server

can't cleanup alias which pointed to multipe indexs using ES7

Open
#11,128 2 comments 0 reactions 0 assignees View on GitHub
bug triaged
Dominant language
Java
Stars
8.1k
Forks
1.1k
Avg merge
1d 20h
Merged PRs (30d)
217

Description

can't cleanup alias which pointed to multipe alias using ES7

## Expected Behavior
graylog server should cleanup the alias which pointed to multiple indices

## Current Behavior
graylog server raise an exception

2021-08-09 at 01:40:56 GMT ERROR org.graylog2.periodical.IndexRotationThread 82 lambda$doRun$0 - Couldn't point deflector to a new index java.lang.IllegalArgumentException: [alias] is unsupported for [REMOVE_INDEX]

at org.graylog.shaded.elasticsearch7.org.elasticsearch.action.admin.indices.alias.IndicesAliasesRequest$AliasActions.alias(IndicesAliasesRequest.java:365) ~[?:?]
at org.graylog.storage.elasticsearch7.IndicesAdapterES7.removeAliases(IndicesAdapterES7.java:380) ~[?:?]
at org.graylog2.indexer.indices.Indices.removeAliases(Indices.java:322) ~[graylog.jar:?]
at org.graylog2.indexer.MongoIndexSet.cleanupAliases(MongoIndexSet.java:352) ~[graylog.jar:?]
at org.graylog2.periodical.IndexRotationThread.checkAndRepair(IndexRotationThread.java:149) ~[graylog.jar:?]
at org.graylog2.periodical.IndexRotationThread.lambda$doRun$0(IndexRotationThread.java:76) ~[graylog.jar:?]
at java.lang.Iterable.forEach(Iterable.java:75) [?:1.8.0_201]
at org.graylog2.periodical.IndexRotationThread.doRun(IndexRotationThread.java:73) [graylog.jar:?]
at org.graylog2.plugin.periodical.Periodical.run(Periodical.java:77) [graylog.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_201]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_201]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_201]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_201]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_201]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_201]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]

## Possible Solution
it seems than REMOVE_INDEX action is not supported?

        public IndicesAliasesRequest.AliasActions alias(String alias) {

if (this.type == IndicesAliasesRequest.AliasActions.Type.REMOVE_INDEX) {
throw new IllegalArgumentException("[alias] is unsupported for [" + this.type + "]");
} else if (!Strings.hasLength(alias)) {
throw new IllegalArgumentException("[alias] can't be empty string");
} else {
this.aliases = new String[]{alias};
this.originalAliases = this.aliases;
return this;
}
}

* Graylog Version: 4.0.1
* Java Version: 1.8

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.