Skip to content

Add CPS and project_routing support for _mvt#140053

Merged
pawankartik-elastic merged 4 commits intoelastic:mainfrom
pawankartik-elastic:pkar/cps-mvt-project-routing
Jan 9, 2026
Merged

Add CPS and project_routing support for _mvt#140053
pawankartik-elastic merged 4 commits intoelastic:mainfrom
pawankartik-elastic:pkar/cps-mvt-project-routing

Conversation

@pawankartik-elastic
Copy link
Contributor

@pawankartik-elastic pawankartik-elastic commented Dec 30, 2025

The _mvt endpoint works by rewriting a Vector Tile request into a conventional SearchRequest and then dispatching it to TransportSearchAction. Since TSA already supports CPS and project routing, all we're doing in this changeset is:

  1. Making a VT request CPS capable, and,
  2. Adding support for project_routing in a VT request's body.

Pending:

  • Add support to send and receive project_routing over the wire.
    • This is not required.
  • _mvt's documentation states it does not support indices options. This is evident from the code since there's no mention of it in the Rest*Action. Re-verify this once.

* Transforms a rest request in a vector tile request
*/
class VectorTileRequest {
class VectorTileRequest implements IndicesRequest.CrossProjectCandidate {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We don't really need this here since it's the SearchRequest that'll be executing underneath. That said, I say we leave it to indicate that a VT request is CPS-capable. I'm open to discussion(s) on this.

Copy link
Contributor

Choose a reason for hiding this comment

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

Good idea. Seems fine to me.

@elasticsearchmachine elasticsearchmachine added the serverless-linked Added by automation, don't add manually label Dec 30, 2025
@pawankartik-elastic pawankartik-elastic added >non-issue Team:Search Foundations Meta label for the Search Foundations team in Elasticsearch :Search Foundations/CCS labels Dec 30, 2025
@pawankartik-elastic pawankartik-elastic marked this pull request as ready for review December 30, 2025 16:08
@elasticsearchmachine
Copy link
Collaborator

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

Copy link
Contributor

@quux00 quux00 left a comment

Choose a reason for hiding this comment

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

LGTM

@pawankartik-elastic pawankartik-elastic merged commit bf81d18 into elastic:main Jan 9, 2026
35 checks passed
@pawankartik-elastic pawankartik-elastic deleted the pkar/cps-mvt-project-routing branch January 9, 2026 11:27
szybia added a commit to szybia/elasticsearch that referenced this pull request Jan 9, 2026
* upstream/main: (76 commits)
  [Inference API] Get _services skips EIS authorization call if CCM is not configured (elastic#139964)
  Improve TSDB codec benchmarks with full encoder and compression metrics (elastic#140299)
  ESQL: Consolidate test `BlockLoaderContext`s (elastic#140403)
  ESQL: Improve Lookup Join performance with CachedDirectoryReader (elastic#139314)
  ES|QL: Add more examples for the match operator (elastic#139815)
  ESQL: Add timezone to add and sub operators, and ConfigurationAware planning support (elastic#140101)
  ESQL: Updated ToIp tests and generated documentation for map parameters (elastic#139994)
  Disable _delete_by_query and _update_by_query for CCS/stateful (elastic#140301)
  Remove unused method ElasticInferenceService.translateToChunkedResults (elastic#140442)
  logging hot threads on large queue of the management threadpool (elastic#140251)
  Search functions docs cleanup (elastic#140435)
  Unmute 350_point_in_time/point-in-time with index filter (elastic#140443)
  Remove unused methods (elastic#140222)
  Add CPS and `project_routing` support for `_mvt` (elastic#140053)
  Streamline `ShardDeleteResults` collection (elastic#140363)
  Fix Docker build to use --load for single-platform images (elastic#140402)
  Parametrize + test VectorScorerOSQBenchmark (elastic#140354)
  `RecyclerBytesStreamOutput` using absolute offsets (elastic#140303)
  Define bulk float native methods for vector scoring (elastic#139885)
  Make `TimeSeriesAggregate` `TimestampAware` (elastic#140270)
  ...
jimczi pushed a commit to jimczi/elasticsearch that referenced this pull request Jan 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

>non-issue :Search Foundations/CCS serverless-linked Added by automation, don't add manually Team:Search Foundations Meta label for the Search Foundations team in Elasticsearch v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants