Elasticsearch fails with "index and alias need to be unique"

Bug #1907073 reported by Pedro Guimarães
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Elasticsearch Charm
New
Medium
Unassigned

Bug Description

Deploying stable/20.10 Elasticsearch + Graylog and I am seeing units fail with [1].

Reading through Graylog docs, on 2.4 docs, it proposes to set a config on ES:
https://docs.graylog.org/en/2.4/pages/faq.html#how-do-i-fix-the-deflector-exists-as-an-index-and-is-not-an-alias-error-message
action.auto_create_index: false

Also tried workaround described on:
https://community.graylog.org/t/graylog-deflector-exists-as-an-indexer-and-is-not-an-alias/7413/2
With no success.

[1]
4) Error injecting constructor, java.lang.IllegalStateException: index and alias names need to be unique, but the following duplicates w
ere found [graylog_deflector (alias of [graylog_0/v2Eb1rlrQmCLur6znDxCSg])]
  at org.elasticsearch.gateway.GatewayMetaState.<init>(Unknown Source)
  while locating org.elasticsearch.gateway.GatewayMetaState
Caused by: java.lang.IllegalStateException: index and alias names need to be unique, but the following duplicates were found [graylog_de
flector (alias of [graylog_0/v2Eb1rlrQmCLur6znDxCSg])]
        at org.elasticsearch.cluster.metadata.MetaData$Builder.build(MetaData.java:1032)
        at org.elasticsearch.gateway.MetaStateService.loadFullState(MetaStateService.java:73)
        at org.elasticsearch.gateway.GatewayMetaState.<init>(GatewayMetaState.java:92)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:49)
        at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
        at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:116)
        at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)
        at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:825)
        at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)
        at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)
        at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:50)
        at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:191)
        at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:183)
        at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:818)
        at org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:183)
        at org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:176)
        at org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:161)
        at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:96)
        at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:96)
        at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:70)
        at org.elasticsearch.common.inject.ModulesBuilder.createInjector(ModulesBuilder.java:42)
        at org.elasticsearch.node.Node.<init>(Node.java:499)
        at org.elasticsearch.node.Node.<init>(Node.java:245)
        at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:233)
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:233)
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342)
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132)
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123)
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70)
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134)
        at org.elasticsearch.cli.Command.main(Command.java:90)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84)

4 errors
        at org.elasticsearch.common.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:361) ~[elasticsearch-5.6.16.j
ar:5.6.16]
        at org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:164) ~[elasticsearch-5.6.16.jar:5.6.16
]
        at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:96) ~[elasticsearch-5.6.16.jar:5.6.16]
        at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:96) ~[elasticsearch-5.6.16.jar:5.6.16]
        at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:70) ~[elasticsearch-5.6.16.jar:5.6.16]
        at org.elasticsearch.common.inject.ModulesBuilder.createInjector(ModulesBuilder.java:42) ~[elasticsearch-5.6.16.jar:5.6.16]
        at org.elasticsearch.node.Node.<init>(Node.java:499) ~[elasticsearch-5.6.16.jar:5.6.16]
        at org.elasticsearch.node.Node.<init>(Node.java:245) ~[elasticsearch-5.6.16.jar:5.6.16]
        at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:233) ~[elasticsearch-5.6.16.jar:5.6.16]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:233) ~[elasticsearch-5.6.16.jar:5.6.16]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.16.jar:5.6.16]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.16.jar:5.6.16]
        ... 6 more

Edin S (exsdev)
Changed in charm-elasticsearch:
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.