Skip to content

Conversation

chrisparrinello
Copy link
Contributor

@chrisparrinello chrisparrinello commented Oct 3, 2025

Fixes #134959

@elasticsearchmachine elasticsearchmachine added needs:triage Requires assignment of a team area label v9.3.0 labels Oct 3, 2025
@chrisparrinello chrisparrinello added >bug and removed needs:triage Requires assignment of a team area label labels Oct 3, 2025
@elasticsearchmachine elasticsearchmachine added the needs:triage Requires assignment of a team area label label Oct 3, 2025
@chrisparrinello chrisparrinello added Team:Search Foundations Meta label for the Search Foundations team in Elasticsearch :Search Foundations/Search Catch all for Search Foundations labels Oct 3, 2025
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-search-foundations (Team:Search Foundations)

@elasticsearchmachine elasticsearchmachine removed the needs:triage Requires assignment of a team area label label Oct 3, 2025
@elasticsearchmachine
Copy link
Collaborator

Hi @chrisparrinello, I've created a changelog YAML for you.

@elasticsearchmachine
Copy link
Collaborator

Hi @chrisparrinello, I've updated the changelog YAML for you.

transportService.registerRequestHandler(
QUERY_ACTION_NAME,
EsExecutors.DIRECT_EXECUTOR_SERVICE,
transportService.getThreadPool().executor(ThreadPool.Names.SEARCH_COORDINATION),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I see what the intention is here, to move off of the transport thread part of the shard query phase that happens before we fork to search, can you confirm?

The title of the PR refers to can match thread though, while this moves the query action (rather than can match) to search coordination.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SearchService::executeQueryPhase is an overloaded function. As far as I can tell, the executeQueryPhase referenced here is performing a can-match (if possible) and if the can-match succeeds, then calls the other executeQueryPhase function which is doing the normal query phase.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ugh, we really shouldn't have named two different methods doing different things by one name... But there seems to be four executeQueryPhase methods, quite confusing tbh. None of them have any explanation on how they differ from others, sigh.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>bug :Search Foundations/Search Catch all for Search Foundations Team:Search Foundations Meta label for the Search Foundations team in Elasticsearch v9.3.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CanMatch Running on Transport Thread
4 participants