Skip to content

IndexRoutingTests with and without synthetic id#143566

Merged
burqen merged 3 commits intoelastic:mainfrom
burqen:ap/2026.03.04.synthetic-id-fix-IndexRoutingTests
Mar 6, 2026
Merged

IndexRoutingTests with and without synthetic id#143566
burqen merged 3 commits intoelastic:mainfrom
burqen:ap/2026.03.04.synthetic-id-fix-IndexRoutingTests

Conversation

@burqen
Copy link
Copy Markdown
Contributor

@burqen burqen commented Mar 4, 2026

Time_series index routing tests now randomly run with index.mapping.synthetic_id true or false when the feature flag allow it. The setting is set explicitly (when supported) so behavior stays consistent if the default changes. (This is preparatory work for enabling synthetic id by default)

  • Introduce TimeSeriesRoutingFixture (routing + useSyntheticId) and pass it into assertIndexShard
  • idForReadPath (called from assertIndexShard) is used to generate id based on IndexRouting and useSyntheticId
  • BWC tests keep deterministic routing by passing useSyntheticId=false. and introduce new BWC tests for useSyntheticId=true
  • testRerouteToTargetTsid randomly enables synthetic id;
  • testRerouteToTargetTsidBeforeWrittenToRouting doesn't set synthetic id because indexVersion is too low.

also:

  • cleanup throws IOException

Written with help from Cursor

Preparatory work for #142366

Time_series index routing tests now randomly run with
index.mapping.synthetic_id true or false when the feature
flag allow it. The setting is set explicitly (when
supported) so behaviour stays consistent if the default
changes. (This is preparatory work for enabling synthetic
id by default)

- Introduce TimeSeriesRoutingFixture (routing + useSyntheticId)
  and pass it into assertIndexShard;
- idForReadPath (called from assertIndexShard) is used to
  generate id based on IndexRouting and useSyntheticId
- BWC tests keep deterministic routing by passing useSyntheticId=false.
  and introduce new BWC tests for useSyntheticId=true
- testRerouteToTargetTsid randomly enables synthetic id;
- testRerouteToTargetTsidBeforeWrittenToRouting doesn't set
  synthetic id because indexVersion is too low.

also:
- cleanup throws IOException
@burqen burqen added >test Issues or PRs that are addressing/adding tests :StorageEngine/TSDB You know, for Metrics v9.4.0 labels Mar 4, 2026
@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

Pinging @elastic/es-storage-engine (Team:StorageEngine)

@burqen burqen merged commit f623668 into elastic:main Mar 6, 2026
35 checks passed
spinscale pushed a commit to spinscale/elasticsearch that referenced this pull request Mar 6, 2026
* IndexRoutingTests with and without synthetic id

Time_series index routing tests now randomly run with
index.mapping.synthetic_id true or false when the feature
flag allow it. The setting is set explicitly (when
supported) so behaviour stays consistent if the default
changes. (This is preparatory work for enabling synthetic
id by default)

- Introduce TimeSeriesRoutingFixture (routing + useSyntheticId)
  and pass it into assertIndexShard;
- idForReadPath (called from assertIndexShard) is used to
  generate id based on IndexRouting and useSyntheticId
- BWC tests keep deterministic routing by passing useSyntheticId=false.
  and introduce new BWC tests for useSyntheticId=true
- testRerouteToTargetTsid randomly enables synthetic id;
- testRerouteToTargetTsidBeforeWrittenToRouting doesn't set
  synthetic id because indexVersion is too low.

also:
- cleanup throws IOException

Written together with Cursor
szybia added a commit to szybia/elasticsearch that referenced this pull request Mar 6, 2026
…locations

* upstream/main: (153 commits)
  ES|QL: Update docs for TOP_SNIPPETS and DECAY (elastic#143739)
  Correctly include endpoint id in log msg in AuthorizationPoller (elastic#143743)
  Bar searching or sorting on _seq_no when disabled (elastic#143600)
  Generalize `testClientCancellation` test (elastic#143586)
  JSON_EXTRACT: zero-copy byte slicing for object, array, and number extraction (elastic#143702)
  Track recycler pages in circuit breaker (elastic#143738)
  [ESQL] Enable distributed pipeline breakers for external sources via FragmentExec (elastic#143696)
  Adding 'mode' and 'codec' fields to ES monitoring template (elastic#143673)
  [ESQL] Columnar I/O and vectorized block conversion for external sources (elastic#143703)
  Fix flaky MMR diversification YAML tests (elastic#143706)
  ES|QL codegen: check builder arguments for vector support (elastic#143724)
  Add Views Security Model (elastic#141050)
  ESQL: Prevent pushdown of unmapped fields in filters and sorts (elastic#143460)
  Don't run seq_no pruning tests in release CI (elastic#143725)
  ESQL: Support intra-row field references in ROW command (elastic#140217)
  ES|QL: Remove implicit limit in FORK branches in CSV tests (elastic#143601)
  IndexRoutingTests with and without synthetic id (elastic#143566)
  Synthetic id upgrade test in serverless (elastic#142471)
  Disable "Review skipped" comments for PRs without specified labels (elastic#143728)
  Cleanup ES|QL T-Digest code duplication, add memory accounting (elastic#143662)
  ...
sidosera pushed a commit to sidosera/elasticsearch that referenced this pull request Mar 6, 2026
* IndexRoutingTests with and without synthetic id

Time_series index routing tests now randomly run with
index.mapping.synthetic_id true or false when the feature
flag allow it. The setting is set explicitly (when
supported) so behaviour stays consistent if the default
changes. (This is preparatory work for enabling synthetic
id by default)

- Introduce TimeSeriesRoutingFixture (routing + useSyntheticId)
  and pass it into assertIndexShard;
- idForReadPath (called from assertIndexShard) is used to
  generate id based on IndexRouting and useSyntheticId
- BWC tests keep deterministic routing by passing useSyntheticId=false.
  and introduce new BWC tests for useSyntheticId=true
- testRerouteToTargetTsid randomly enables synthetic id;
- testRerouteToTargetTsidBeforeWrittenToRouting doesn't set
  synthetic id because indexVersion is too low.

also:
- cleanup throws IOException

Written together with Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:StorageEngine/TSDB You know, for Metrics Team:StorageEngine >test Issues or PRs that are addressing/adding tests v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants