Skip to content

NPE in AsyncSearch with unhealthy/missing replica  #66862

Closed
@slider

Description

@slider

Elasticsearch version (bin/elasticsearch --version):
7.10.1

Plugins installed: [None]

JVM version (java -version): -

OS version (uname -a if on a Unix-like system): -

Description of the problem including expected versus actual behavior:

After an index became unhealthy due to having only one replica and the corresponding node leaving, we were seeing the following NPE in the logs with a Failed to execute progress listener on query failure exception.

Provide logs (if relevant):

[SearchShard{clusterAlias='null', shardId=[XXXXXX][2]}] Failed to execute progress listener on query failure
java.lang.NullPointerException: Cannot invoke "org.elasticsearch.search.SearchShardTarget.getNodeId()" because "shardTarget" is null
	at org.elasticsearch.xpack.search.AsyncSearchTask$Listener.onQueryFailure(AsyncSearchTask.java:367) ~[?:?]
	at org.elasticsearch.action.search.SearchProgressListener.notifyQueryFailure(SearchProgressListener.java:131) [elasticsearch-7.10.1.jar:7.10.1]
	at org.elasticsearch.action.search.SearchQueryThenFetchAsyncAction.onShardGroupFailure(SearchQueryThenFetchAsyncAction.java:88) [elasticsearch-7.10.1.jar:7.10.1]
	at org.elasticsearch.action.search.AbstractSearchAsyncAction.onShardFailure(AbstractSearchAsyncAction.java:396) [elasticsearch-7.10.1.jar:7.10.1]
	at org.elasticsearch.action.search.AbstractSearchAsyncAction.lambda$performPhaseOnShard$0(AbstractSearchAsyncAction.java:236) [elasticsearch-7.10.1.jar:7.10.1]
	at org.elasticsearch.action.search.AbstractSearchAsyncAction$2.doRun(AbstractSearchAsyncAction.java:303) [elasticsearch-7.10.1.jar:7.10.1]
	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-7.10.1.jar:7.10.1]
	at org.elasticsearch.common.util.concurrent.TimedRunnable.doRun(TimedRunnable.java:44) [elasticsearch-7.10.1.jar:7.10.1]
	at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:737) [elasticsearch-7.10.1.jar:7.10.1]
	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-7.10.1.jar:7.10.1]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) [?:?]
	at java.lang.Thread.run(Thread.java:832) [?:?]

Metadata

Metadata

Assignees

No one assigned

    Labels

    :Search/SearchSearch-related issues that do not fall into other categories>bugTeam:SearchMeta label for search teamneeds:triageRequires assignment of a team area label

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions