elastic/elasticsearch

Add a checkCancelled public method to ContextIndexSearcher

Chiusa

#121.349 aperta il 30 gen 2025

 (5 commenti) (0 reazioni) (0 assegnatari)Java (25.882 fork)batch import
:Search Foundations/Search>enhancementTeam:Search Foundationshelp wanted

Metriche repository

Star
 (76.700 stelle)
Metriche merge PR
 (Merge medio 2g) (1000 PR mergiate in 30 g)

Descrizione

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

Guida contributor