Skip to content

Comments

Set index template for ingest_mode: data_stream#849

Merged
felixbarny merged 1 commit intomasterfrom
felixbarny-tsdb-data-stream-fix
Sep 12, 2025
Merged

Set index template for ingest_mode: data_stream#849
felixbarny merged 1 commit intomasterfrom
felixbarny-tsdb-data-stream-fix

Conversation

@felixbarny
Copy link
Member

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

Hopefully resolves #848

Rolls back changes in #722 that broke the `ingest_mode: data_stream`.
@felixbarny
Copy link
Member Author

What's the best way to test this locally? Could someone recommend a rally command to invoke this?

This is a snippet of how I would start it with esbench but I'm having trouble converting this to a rally invocation for local execution:

  "elasticsearch.node.count": 1,
  "kibana.node.count": 0,
  "track.name": "tsdb",
  "include.tasks": [
    "tag:setup",
    "tag:health",
    "tag:index"
  ],
  "track.params": {
    "force_merge_max_num_segments": 1,
    "ingest_mode": "data_stream",
    "index_mode": "time_series",
    "source_mode": "synthetic",
    "bulk_indexing_clients": 16,
    "corpus": "split16",
    "run_esql_aggs": true
  },
  "stats.telemetry": [
    "disk-usage-stats"
  ]

@felixbarny
Copy link
Member Author

I found out how to validate the changes locally:

esrally race --track-path=tsdb \
  --distribution-version=9.1.0 \
  --test-mode \
  --kill-running-processes \
  --track-params="force_merge_max_num_segments:1,ingest_mode:data_stream,index_mode:time_series,source_mode:synthetic,bulk_indexing_clients:16,corpus:split16,run_esql_aggs:true" 

This fails without this change and succeeds with it.

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.

LGTM

@felixbarny
Copy link
Member Author

There's a test failure for the tsdb track:

-------------------------------- live log call ---------------------------------
INFO     pytest_rally.rally:rally.py:144 Running command: [esrally race --track="tsdb" --track-repository="/home/runner/work/rally-tracks/rally-tracks" --track-revision="813c9815a440ef2b05240a4931e0e9caf7326994" --configuration-name="pytest" --enable-assertions --kill-running-processes --on-error="abort" --pipeline="benchmark-only" --target-hosts="127.0.0.1:19200" --test-mode --track-params="run_esql_aggs:True,index_mode:time_series"]
FAILED                                                                   [ 86%]

Not sure if this is related to my changes or not. Maybe it's due to recent changes in the TS command as run_esql_aggs:True is enabled. I'll create a dummy test PR to check if it fails for the same reason.

@felixbarny
Copy link
Member Author

I looked at other recent PRs and they all fail for the same reason.

@kkrik-es @dnhatn any recent changes to TS that may have caused this?

@kkrik-es
Copy link
Contributor

There have been a few.. do we have a stack trace or something?

@felixbarny
Copy link
Member Author

felixbarny commented Sep 12, 2025

think this has been resolved by elastic/elasticsearch#134603.

I've re-started the run but I already saw it succeeding in the build of another PR.

Copy link
Member

@gareth-ellis gareth-ellis left a comment

Choose a reason for hiding this comment

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

LGTM

@felixbarny felixbarny merged commit 3eec0a4 into master Sep 12, 2025
32 of 36 checks passed
@felixbarny felixbarny deleted the felixbarny-tsdb-data-stream-fix branch September 12, 2025 10:09
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`.
@esbenchmachine esbenchmachine added the backport pending Awaiting backport to stable release branch label Dec 19, 2025
@esbenchmachine
Copy link
Collaborator

@felixbarny
A backport is pending for this PR. Please add all required vX.Y version labels.

  • If it is intended for the current Elasticsearch release version, apply the corresponding version label.
  • If it also supports past released versions, add those labels too.
  • If it only targets a future version, wait until that version label exists and then add it.
    (Each rally-tracks version label is created during the feature freeze of a new Elasticsearch branch).

Backporting entails:

  1. Ensure the correct version labels exist in this PR.
  2. Ensure backport PRs have backport label and are passing tests.
  3. Merge backport PRs (you can approve yourself and enable auto-merge).
  4. Remove backport pending label from this PR once all backport PRs are merged.

Thank you!

NickDris added a commit that referenced this pull request Dec 20, 2025
* Tests tracks selectively based on PR changes (#858)
* CI builds ES revision from sources based on es-version file (#875)
* Drop Python 3.9 and introduce Python 3.13 in CI (#877)
* [ES-13188] Update GH macOS hosted runner image (#883)
* Address pytest deprecations (#911)
* CI determines Elasticsearch build arguments using unified job in gh workflow [stateful] (#925)
* Fix an error where ci arguments were not applied properly (#928)
* Fix an error where ci arguments were not applied properly
* Test the change
* Test failed retry with another fix
* Previous fix failed retry
* Revert es-version to current
* Keep the indents if if/else
* Add backport reminder and reorganize the backporting actions. (#889)
* Rename IT folders (#938)
* Fix pytest skip argument (#905)
* Backport reminders - fix missing default values in workflow (#947)
* Upgrade pip to 25.2
* Fix conflict in it_tracks
* Update deprecated gh actions
* Track changes for 8.19
* Fix test job which does not require the output of other jobs
* Add backport reminder and reorganize the backporting actions. (#889)
* Fix an error where ci arguments were not applied properly (#928)
* Reduce filtering scope in CI workflow (#908)
* Add pytest marker for cars
* Address merge conflicts
* Run serverless CI only on PRs targeting master (#859)
* Accept pragma risks for joins esql
* Make esql-full-text-functions a snapshot_only_challenge
* Set index template for ingest_mode: data_stream (#849)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport pending Awaiting backport to stable release branch bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Track param ingest_mode: data_stream doesn't work for the tsdb track

5 participants