Skip to content

Introduce a new operation to benchmark the shard changes recovery api#722

Merged
salvatore-campagna merged 39 commits intoelastic:masterfrom
salvatore-campagna:feature/synthetic-source-recovery-challenge
Jan 22, 2025
Merged

Introduce a new operation to benchmark the shard changes recovery api#722
salvatore-campagna merged 39 commits intoelastic:masterfrom
salvatore-campagna:feature/synthetic-source-recovery-challenge

Conversation

@salvatore-campagna
Copy link
Contributor

@salvatore-campagna salvatore-campagna commented Jan 10, 2025

With PR elastic/elasticsearch#118608, we introduced a new API that we would like to benchmark in order to evaluate the latency of synthetic source recovery. This benchmarking will help us assess how the API latency evolves over time and understand the potential impact of new features on recovery latency. The targets for this benchmark will include indices or data streams in the elastic/logs, elastic/security, and tsdb tracks.

  • Retention Lease Requirement:
    It is important to add a retention lease before starting document indexing. This is necessary for ensuring that the subsequent shard recovery API call executes successfully without missing seq_no values. A missing retention lease may result in missing seq_no values during shard recovery.

  • Support for Data Streams and Index Aliases:
    We extended the original API in PR elastic/elasticsearch#118937 to support data streams and index aliases. This extension is necessary for data stream use cases, as the backing index name may change depending on when the index is created. Supporting data streams and aliases simplifies benchmarking and provides greater flexibility in targeting indices.

@salvatore-campagna salvatore-campagna marked this pull request as ready for review January 14, 2025 16:53
@salvatore-campagna salvatore-campagna self-assigned this Jan 14, 2025
Copy link
Member

@martijnvg martijnvg left a comment

Choose a reason for hiding this comment

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

Thanks Salvatore! I left a comment about inlining shard-recovery in existing challenge.

@salvatore-campagna salvatore-campagna marked this pull request as draft January 15, 2025 08:35
@gareth-ellis
Copy link
Member

@elasticmachine update branch

@salvatore-campagna salvatore-campagna changed the title Introduce a new challenge to benchmark the shard changes recovery api Introduce a new operation to benchmark the shard changes recovery api Jan 15, 2025
@salvatore-campagna salvatore-campagna marked this pull request as ready for review January 21, 2025 16:26
Copy link
Member

Choose a reason for hiding this comment

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

I don't think we need to these operations related to merging? It just makes this challenge run longer?

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 we can remove force-merge and wait-until-merges-finish here?

Copy link
Member

@martijnvg martijnvg left a comment

Choose a reason for hiding this comment

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

LGTM2

@salvatore-campagna salvatore-campagna merged commit 7ea9577 into elastic:master Jan 22, 2025
13 checks passed
felixbarny added a commit that referenced this pull request Sep 10, 2025
Rolls back changes in #722 that broke the `ingest_mode: data_stream`.
felixbarny added a commit that referenced this pull request Sep 12, 2025
Rolls back changes in #722 that broke the `ingest_mode: data_stream`.
NickDris added a commit to NickDris/rally-tracks that referenced this pull request Sep 15, 2025
* Implement KNN comparison with ESQL for so_vector (elastic#837)

Update the so_vector rally track to also exercise knn against the ESQL frontend.

* Add patterned_text_index_options parameter (elastic#840)

Add patterned_text_index_options parameter to elastic/log tracks. Can accepts value of docs and positions, defaults to docs. Sets the index_options value of the message field in all indices. Only applies if patterned_text_message_field is set to true, and message fields are patterned_text, rather than match_only_text.

* Fix so_vector for serverless operator (elastic#844)

Misplaced comma

* ES|QL: Add queries for LOOKUP JOIN with multiple join keys (elastic#838)

* Add a few runtime fields to insist-chicken challenge (elastic#841)

* Add elastic/logs patterned-text queries challenge (elastic#842)

Add challenge which queries message field with several term and phrase queries. This is meant to test the patterned_text mapping type, but can also be used to test match_only_text message fields.

* Reduce number of iterations for queries that use runtime fields. (elastic#846)

* Remove routing_path from tsdb index template (elastic#847)

Setting this is not necessary as the routing path is set automatically for data streams and this template defines `"data_stream": {}`. It would also prevent an optimization added in elastic/elasticsearch#132566.

* Set index template for ingest_mode: data_stream (elastic#849)

Rolls back changes in elastic#722 that broke the `ingest_mode: data_stream`.

* ES|QL - so_vector knn function update (elastic#850)

* Add missing p_index_mode param (elastic#853)

---------

Co-authored-by: Svilen Mihaylov <svilen.mihaylov@elastic.co>
Co-authored-by: Parker Timmins <parker.timmins@elastic.co>
Co-authored-by: Evgenia Badiyanova <evgenia.badiyanova@elastic.co>
Co-authored-by: Luigi Dell'Aquila <luigi.dellaquila@gmail.com>
Co-authored-by: Martijn van Groningen <martijn.v.groningen@gmail.com>
Co-authored-by: Felix Barnsteiner <felixbarny@users.noreply.github.com>
Co-authored-by: Carlos Delgado <6339205+carlosdelest@users.noreply.github.com>
NickDris pushed a commit to NickDris/rally-tracks that referenced this pull request Dec 19, 2025
Rolls back changes in elastic#722 that broke the `ingest_mode: data_stream`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

Comments