Skip to content

NullPointerException in StandardQueryBuilder.topDocsQuery #142336

@masseyke

Description

@masseyke

I just noticed this logged out at ERROR level several times in a production environment:

java.lang.NullPointerException: Cannot invoke "org.elasticsearch.index.query.QueryBuilder.queryName(String)" because "qb" is null
	at org.elasticsearch.server@9.4.0/org.elasticsearch.search.retriever.StandardRetrieverBuilder.topDocsQuery(StandardRetrieverBuilder.java:142)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.SearchRequestAttributesExtractor.introspectRetriever(SearchRequestAttributesExtractor.java:371)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.SearchRequestAttributesExtractor.introspectRetriever(SearchRequestAttributesExtractor.java:375)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.SearchRequestAttributesExtractor.extractAttributes(SearchRequestAttributesExtractor.java:122)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.SearchRequestAttributesExtractor.extractAttributes(SearchRequestAttributesExtractor.java:57)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.TransportSearchAction.lambda$executeRequest$9(TransportSearchAction.java:457)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListenerImplementations$ResponseWrappingActionListener.onResponse(ActionListenerImplementations.java:261)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.index.query.Rewriteable.rewriteAndFetch(Rewriteable.java:109)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.index.query.Rewriteable.lambda$rewriteAndFetch$0(Rewriteable.java:104)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListenerImplementations$ResponseWrappingActionListener.onResponse(ActionListenerImplementations.java:261)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.index.query.QueryRewriteContext$1.onResponse(QueryRewriteContext.java:485)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.search.retriever.CompoundRetrieverBuilder$1.onResponse(CompoundRetrieverBuilder.java:198)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.search.retriever.CompoundRetrieverBuilder$1.onResponse(CompoundRetrieverBuilder.java:165)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.tasks.TaskManager$1.onResponse(TaskManager.java:222)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.tasks.TaskManager$1.onResponse(TaskManager.java:216)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListenerImplementations$RunBeforeActionListener.onResponse(ActionListenerImplementations.java:350)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:33)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListenerImplementations$MappedActionListener.onResponse(ActionListenerImplementations.java:111)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListener.respondAndRelease(ActionListener.java:386)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.TransportMultiSearchAction$1.finish(TransportMultiSearchAction.java:192)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.TransportMultiSearchAction$1.handleResponse(TransportMultiSearchAction.java:187)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.TransportMultiSearchAction$1.onResponse(TransportMultiSearchAction.java:172)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.TransportMultiSearchAction$1.onResponse(TransportMultiSearchAction.java:169)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListenerImplementations$RunAfterActionListener.onResponse(ActionListenerImplementations.java:312)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.support.SubscribableListener$SuccessResult.complete(SubscribableListener.java:423)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.support.SubscribableListener.tryComplete(SubscribableListener.java:343)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.support.SubscribableListener.setResult(SubscribableListener.java:372)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.support.SubscribableListener.onResponse(SubscribableListener.java:279)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListenerImplementations$SafeMappedActionListener.onResponse(ActionListenerImplementations.java:145)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.tasks.TaskManager$1.onResponse(TaskManager.java:222)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.tasks.TaskManager$1.onResponse(TaskManager.java:216)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListenerImplementations$RunBeforeActionListener.onResponse(ActionListenerImplementations.java:350)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:33)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListenerImplementations$MappedActionListener.onResponse(ActionListenerImplementations.java:111)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.TransportSearchAction$SearchTelemetryListener.onResponse(TransportSearchAction.java:2510)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.TransportSearchAction$SearchTelemetryListener.onResponse(TransportSearchAction.java:2433)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListenerImplementations$RunBeforeActionListener.onResponse(ActionListenerImplementations.java:350)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListener.respondAndRelease(ActionListener.java:386)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.AbstractSearchAsyncAction.sendSearchResponse(AbstractSearchAsyncAction.java:625)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.SearchQueryThenFetchAsyncAction.sendSearchResponse(SearchQueryThenFetchAsyncAction.java:84)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.FetchLookupFieldsPhase.sendResponse(FetchLookupFieldsPhase.java:147)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.FetchLookupFieldsPhase.run(FetchLookupFieldsPhase.java:81)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.AbstractSearchAsyncAction.executePhase(AbstractSearchAsyncAction.java:404)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.AbstractSearchAsyncAction.executeNextPhase(AbstractSearchAsyncAction.java:398)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.ExpandSearchPhase.onPhaseDone(ExpandSearchPhase.java:185)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.ExpandSearchPhase.run(ExpandSearchPhase.java:70)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.AbstractSearchAsyncAction.executePhase(AbstractSearchAsyncAction.java:404)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.AbstractSearchAsyncAction.executeNextPhase(AbstractSearchAsyncAction.java:398)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.FetchSearchPhase.moveToNextPhase(FetchSearchPhase.java:272)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.FetchSearchPhase.lambda$innerRunFetch$1(FetchSearchPhase.java:142)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.CountedCollector.countDown(CountedCollector.java:41)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.ArraySearchPhaseResults.consumeResult(ArraySearchPhaseResults.java:48)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.CountedCollector.onResult(CountedCollector.java:49)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.FetchSearchPhase$2.innerOnResponse(FetchSearchPhase.java:220)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.FetchSearchPhase$2.innerOnResponse(FetchSearchPhase.java:215)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.SearchActionListener.onResponse(SearchActionListener.java:34)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.SearchActionListener.onResponse(SearchActionListener.java:19)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListenerResponseHandler.handleResponse(ActionListenerResponseHandler.java:49)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.search.SearchTransportService$ConnectionCountingHandler.handleResponse(SearchTransportService.java:648)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.transport.TransportService$UnregisterChildTransportResponseHandler.handleResponse(TransportService.java:1736)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler.handleResponse(TransportService.java:1514)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.transport.TransportService$DirectResponseChannel.processResponse(TransportService.java:1612)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.transport.TransportService$DirectResponseChannel.sendResponse(TransportService.java:1586)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.transport.TaskTransportChannel.sendResponse(TaskTransportChannel.java:35)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.support.ChannelActionListener.onResponse(ChannelActionListener.java:33)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.support.ChannelActionListener.onResponse(ChannelActionListener.java:20)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.search.SearchService.lambda$releaseCircuitBreakerOnResponse$27(SearchService.java:1649)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListener$2.onResponse(ActionListener.java:258)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.search.SearchService$2.onResponse(SearchService.java:1665)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListener.respondAndRelease(ActionListener.java:386)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionRunnable$3.accept(ActionRunnable.java:79)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionRunnable$3.accept(ActionRunnable.java:76)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionRunnable$4.doRun(ActionRunnable.java:101)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.common.util.concurrent.TimedRunnable.doRun(TimedRunnable.java:35)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:1114)
	at org.elasticsearch.server@9.4.0/org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:27)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)

Unfortunately, I don't know what the query was.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions