elastic/elasticsearch

Add a checkCancelled public method to ContextIndexSearcher

Open

#121 349 ouverte le 30 janv. 2025

Voir sur GitHub
 (5 commentaires) (0 réactions) (0 assignés)Java (76 700 stars) (25 882 forks)batch import
:Search Foundations/Search>enhancementTeam:Search Foundationshelp wanted

Description

Description

The ContextIndexSearcher has some API to deal with cancelled tasks, see for example hasCancellations() below. Acting on cancelled tasks can be useful in ValueFetchers (which can be implemented by plugins via custom runtime fields), where resources can be released in such a case. Although the method hasCancellations() is public and accessible to plugins, there is however no access point to its counterpart checkCancelled() (see below): that method would be needed to check if the search's task got cancelled (and act upon it).

  • Would it be possible to add a public access method to checkCancelled(), in order to allow plugins to handle cancellations in custom runtime fields ?
  • Related question: are IndexSearchers used in Elasticsearch all ContextIndexSearcher instances ?

https://github.com/elastic/elasticsearch/blob/0d2db063ec4d8e95941e3b92dc150e294e5f0689/server/src/main/java/org/elasticsearch/search/internal/ContextIndexSearcher.java#L193

https://github.com/elastic/elasticsearch/blob/0d2db063ec4d8e95941e3b92dc150e294e5f0689/server/src/main/java/org/elasticsearch/index/mapper/MappedFieldType.java#L118

https://github.com/elastic/elasticsearch/blob/0d2db063ec4d8e95941e3b92dc150e294e5f0689/server/src/main/java/org/elasticsearch/search/internal/ContextIndexSearcher.java#L594

Guide contributeur