Skip to content

ESQL: Add extended distribution tests and fault injection for external sources#143420

Merged
costin merged 3 commits intoelastic:mainfrom
costin:ws-d/extended-tests-and-fault-injection
Mar 3, 2026
Merged

ESQL: Add extended distribution tests and fault injection for external sources#143420
costin merged 3 commits intoelastic:mainfrom
costin:ws-d/extended-tests-and-fault-injection

Conversation

@costin
Copy link
Copy Markdown
Member

@costin costin commented Mar 2, 2026

Extends the test coverage for external source distributed execution.

Extended property tests validate mathematical invariants
of the weighted round-robin distribution strategy (LPT load balancing
bounds, determinism, completeness) and split coalescing (child
preservation, size conservation, coalesced+distribution integration).

Fault injection infrastructure adds a configurable
FaultInjectingS3HttpHandler that wraps any S3 HTTP handler with
injectable faults (HTTP 503, 500, connection reset) using countdown-based
auto-clearing and path-based filtering. Unit tests verify the retry
policy correctly handles transient and persistent fault patterns.

Relates #143330

Developed using AI-assisted tooling

…l sources

Extends the test coverage for external source distributed execution with
property tests for weighted round-robin and coalescing, and adds fault
injection infrastructure for testing resilience under storage failures.

- ExtendedDistributionPropertyTests: weighted RR load balancing bounds,
  coalescing preservation, coalesced+distribution integration
- FaultInjectionRetryTests: retry policy behavior under transient and
  persistent fault patterns (503, connection reset, timeout)
- FaultInjectingS3HttpHandler: configurable S3 fault injection with
  countdown, path filtering, and auto-clearing
- FaultInjectingS3HttpHandlerIT: real HTTP server tests for the handler

Developed using AI-assisted tooling
@costin costin added >enhancement Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) :Analytics/ES|QL AKA ESQL v9.4.0 ES|QL|DS ES|QL datasources labels Mar 2, 2026
@costin costin requested a review from bpintea March 2, 2026 20:17
@costin costin enabled auto-merge (squash) March 2, 2026 20:17
@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

Pinging @elastic/es-analytical-engine (Team:Analytics)

@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

Hi @costin, I've created a changelog YAML for you.

@costin costin merged commit cb95c77 into elastic:main Mar 3, 2026
35 checks passed
@costin costin deleted the ws-d/extended-tests-and-fault-injection branch March 3, 2026 11:08
szybia added a commit to szybia/elasticsearch that referenced this pull request Mar 3, 2026
…cations

* upstream/main: (56 commits)
  Mute org.elasticsearch.compute.lucene.read.ValueSourceReaderTypeConversionTests testLoadAll elastic#143471
  [DOCS] Fix ES|QL function and commands lists versioning metadata (elastic#143402)
  Fix MMROperatorTests (elastic#143453)
  Fix CSV-escaped quotes in generated docs examples (elastic#143449)
  Fix SQL client parsing of array header values (elastic#143408)
  ESQL: Add extended distribution tests and fault injection for external sources (elastic#143420)
  ESQL: Fix datasource test failures on Windows and FIPS (elastic#143417)
  Add circuit breaker for query construction to prevent OOM from automaton-based queries (elastic#142150)
  Cleanup SpecIT logging configuration (elastic#143365)
  ESQL: Prune unused regex extract nodes in optimizer (elastic#140982)
  Ensure supported locale outside of Entitlements check (elastic#143405)
  feat(es|ql): add dense_vector support in coalesce (elastic#142974)
  [Test] Unmute SnapshotStressTestsIT (elastic#143359)
  Mute org.elasticsearch.xpack.esql.CsvIT test {csv-spec:lookup-join.LookupJoinWithCoalesceFilterOnRight} elastic#143443
  Mute org.elasticsearch.xpack.esql.CsvIT test {csv-spec:lookup-join.MvJoinKeyOnTheLookupIndex} elastic#143442
  ESQL: Fix CCS exchange sink cleanup (elastic#143325)
  Mute org.elasticsearch.xpack.esql.CsvIT test {csv-spec:lookup-join.MvJoinKeyOnTheLookupIndexAfterStats} elastic#143434
  Mute org.elasticsearch.xpack.esql.CsvIT test {csv-spec:lookup-join.MvJoinKeyFromRow} elastic#143432
  Mute org.elasticsearch.xpack.esql.qa.mixed.MixedClusterEsqlSpecIT test {csv-spec:k8s-timeseries.Datenanos_derivative_compared_to_rate} elastic#143431
  Mute org.elasticsearch.multiproject.test.CoreWithMultipleProjectsClientYamlTestSuiteIT test {yaml=search.retrievers/result-diversification/10_mmr_result_diversification_retriever/Test MMR result diversification single index float type} elastic#143430
  ...
tballison pushed a commit to tballison/elasticsearch that referenced this pull request Mar 3, 2026
…l sources (elastic#143420)

* ESQL: Add extended distribution tests and fault injection for external sources

Extends the test coverage for external source distributed execution with
property tests for weighted round-robin and coalescing, and adds fault
injection infrastructure for testing resilience under storage failures.

- ExtendedDistributionPropertyTests: weighted RR load balancing bounds,
  coalescing preservation, coalesced+distribution integration
- FaultInjectionRetryTests: retry policy behavior under transient and
  persistent fault patterns (503, connection reset, timeout)
- FaultInjectingS3HttpHandler: configurable S3 fault injection with
  countdown, path filtering, and auto-clearing
- FaultInjectingS3HttpHandlerIT: real HTTP server tests for the handler

Developed using AI-assisted tooling

* Update docs/changelog/143420.yaml
GalLalouche pushed a commit to GalLalouche/elasticsearch that referenced this pull request Mar 3, 2026
…l sources (elastic#143420)

* ESQL: Add extended distribution tests and fault injection for external sources

Extends the test coverage for external source distributed execution with
property tests for weighted round-robin and coalescing, and adds fault
injection infrastructure for testing resilience under storage failures.

- ExtendedDistributionPropertyTests: weighted RR load balancing bounds,
  coalescing preservation, coalesced+distribution integration
- FaultInjectionRetryTests: retry policy behavior under transient and
  persistent fault patterns (503, connection reset, timeout)
- FaultInjectingS3HttpHandler: configurable S3 fault injection with
  countdown, path filtering, and auto-clearing
- FaultInjectingS3HttpHandlerIT: real HTTP server tests for the handler

Developed using AI-assisted tooling

* Update docs/changelog/143420.yaml
shmuelhanoch pushed a commit to shmuelhanoch/elasticsearch that referenced this pull request Mar 4, 2026
…l sources (elastic#143420)

* ESQL: Add extended distribution tests and fault injection for external sources

Extends the test coverage for external source distributed execution with
property tests for weighted round-robin and coalescing, and adds fault
injection infrastructure for testing resilience under storage failures.

- ExtendedDistributionPropertyTests: weighted RR load balancing bounds,
  coalescing preservation, coalesced+distribution integration
- FaultInjectionRetryTests: retry policy behavior under transient and
  persistent fault patterns (503, connection reset, timeout)
- FaultInjectingS3HttpHandler: configurable S3 fault injection with
  countdown, path filtering, and auto-clearing
- FaultInjectingS3HttpHandlerIT: real HTTP server tests for the handler

Developed using AI-assisted tooling

* Update docs/changelog/143420.yaml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Analytics/ES|QL AKA ESQL >enhancement ES|QL|DS ES|QL datasources Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants