Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
234 commits
Select commit Hold shift + click to select a range
cff81d9
Introduce grouping in TopN operator
przemekwitek May 19, 2025
8ac8814
[CI] Auto commit changes from spotless
May 20, 2025
2d09714
chore: deps(ironbank): Bump ubi version to 9.6 (#128171)
github-actions[bot] May 20, 2025
4c0c9b6
Avoid some uses of ConcurrentLinkedQueue.size() in SharedBlobCacheSer…
cbuescher May 20, 2025
4e7b99c
Add cancellation support in TransportGetAllocationStatsAction (#127371)
JeremyDahlgren May 20, 2025
265848e
[Test] Fix testContentRangeValidation (#128188)
ywangd May 20, 2025
557f1f1
ESQL: Fix alias removal in regex extraction with `JOIN` (#127687)
kanoshiou May 20, 2025
07aff0a
ESQL: Limit Replace function memory usage (#127924)
ivancea May 20, 2025
be396ae
Fix comment about CircuitBreaker#IN_FLIGHT_REQUESTS (#128192)
vsop-479 May 20, 2025
c0f5e00
[Transform] Check alias during update (#124825)
prwhelan May 20, 2025
a2b4a6f
Add temporary LegacyActionRequest (#128107)
rjernst May 20, 2025
d10ef76
[DOCS] Replace irregular whitespaces in docs (#128199)
theletterf May 20, 2025
928fe1e
System data streams incorrectly show up in the list of template valid…
masseyke May 20, 2025
58f1088
Adjust wire version for can_match in field-caps (#128205)
dnhatn May 20, 2025
43841a5
Fail fast on invalid entitlement patches (#128071)
prdoyle May 20, 2025
aa56c81
Mute org.elasticsearch.packaging.test.DockerTests test130JavaHasCorre…
elasticsearchmachine May 20, 2025
d0a9051
Mute org.elasticsearch.packaging.test.DockerTests test600Interrupt #1…
elasticsearchmachine May 20, 2025
043cd71
Adjust bwc for emit time in hash status (#128226)
dnhatn May 20, 2025
288f47e
Ensure response is closed (#128190)
idegtiarenko May 21, 2025
88b61e3
ESQL: Avoid unintended attribute removal (#127563)
kanoshiou May 21, 2025
ccc3121
Mute org.elasticsearch.packaging.test.EnrollmentProcessTests test20Do…
elasticsearchmachine May 21, 2025
960222e
[DOCS] Make ESQL functions/operators/commands overview accordions ope…
leemthompo May 21, 2025
fb3149c
ESQL: Unmute test and reuse blockFactory to avoid concurrently modify…
ivancea May 21, 2025
14355a7
Renamed the feature flag that controls when default Lucene posting fo…
martijnvg May 21, 2025
8d79de5
Use package to suppress warning for entitlement self-test (#128223)
prdoyle May 21, 2025
943b224
Mark `repository_verify_integrity` API as `public` (#128244)
DaveCTurner May 21, 2025
01a9620
Update the AWS and Azure price lists (#128237)
rockdaboot May 21, 2025
01f59f0
Add file extensions from IVFVectorsFormat (#128233)
iverase May 21, 2025
888ce0b
Mute org.elasticsearch.packaging.test.DockerTests test121CanUseStackL…
elasticsearchmachine May 21, 2025
7fe9931
Add transport version for 8.19 rerank failure field (#128251)
thecoop May 21, 2025
f492bb9
[Profiling] Add support for variable sampling frequency (#128086)
rockdaboot May 21, 2025
79d3aa8
Remove doPrivileged from plugins (#127996)
rjernst May 21, 2025
bc45087
Adding rest actions to get and set data stream settings (#127858)
masseyke May 21, 2025
b335c1a
Fix: Add NamedWriteable for RuleQueryRankDoc (#128153)
kderusso May 21, 2025
c8581b0
Fix field resolution for FORK (#128193)
ioanatia May 21, 2025
e230c01
Prevent closing wrong search contexts in compute service (#128222)
dnhatn May 21, 2025
1fe3b77
ES-10063 Add multi-project support for more stats APIs (#127650)
PeteGillinElastic May 21, 2025
9f1c3da
Mute org.elasticsearch.xpack.esql.session.IndexResolverFieldNamesTest…
elasticsearchmachine May 21, 2025
1dbb4f2
Mute org.elasticsearch.xpack.esql.session.IndexResolverFieldNamesTest…
elasticsearchmachine May 21, 2025
ab5ff67
[docs] Add `products` to `docset.yml` (#128274)
colleenmcginnis May 21, 2025
e713f7c
transport: pass network channel exceptions to close listeners (#127895)
schase-es May 21, 2025
85d7359
Mute org.elasticsearch.packaging.test.DockerTests test080ConfigurePas…
elasticsearchmachine May 21, 2025
f7a7f0b
Generate a test dependencies file to support unit tests in entitlemen…
jdconrad May 21, 2025
61faf42
Mute org.elasticsearch.ingest.geoip.GeoIpDownloaderCliIT testInvalidT…
elasticsearchmachine May 22, 2025
268e39b
Make GoogleCloudStorageRetryingInputStream request same generation on…
nicktindall May 22, 2025
6f2d4c8
Temporarily disable use_default_lucene_postings_format feature flag. …
martijnvg May 22, 2025
db644e2
Added esql scalb function. (#127696)
shmuelhanoch May 22, 2025
c3a1d58
Remove first `FlowControlHandler` from HTTP pipeline (#128099)
DaveCTurner May 22, 2025
5f9c401
Add application permission to outlook connector (#128235)
charlotte-hoblik May 22, 2025
445c3ea
ES|QL: add local optimizations for constant_keyword (#127549)
luigidellaquila May 22, 2025
3504c27
Remove exception-mangling in connect/close listeners (#127954)
DaveCTurner May 22, 2025
04628b8
[Entitlements] Test ScopeResolver based on TestBuildInfo (parser + re…
ldematte May 22, 2025
7eed096
ESQL - Enable telemetry for COMPLETION command (#127731)
svilen-mihaylov-elastic May 22, 2025
43611bc
Apply review comments
przemekwitek May 22, 2025
b682250
Merge branch 'topn_partition' of https://github.com/przemekwitek/elas…
przemekwitek May 22, 2025
b697e8a
[CI] Auto commit changes from spotless
May 22, 2025
54af815
Refactor SourceProvider creation to consistently use MappingLookup (#…
jimczi May 22, 2025
b8e2fce
ESQL: Document VALUES uniques (#128157)
nik9000 May 22, 2025
28b10c3
ESQL: Consider inlinestats when having field_caps check for field nam…
astefan May 22, 2025
84865a1
Prevent concurrent access to local breaker in rerank (#128162)
dnhatn May 22, 2025
cc48648
Fix the Text class package change in example plugins (#128316)
ldematte May 22, 2025
ef06bc8
Don't close indices that are being resharded (#128262)
lkts May 22, 2025
2bf6d54
ES|QL: Fix constant folding when using FORK (#128276)
ioanatia May 22, 2025
3af0568
Speed up read dimension fields in TS (#128283)
dnhatn May 22, 2025
a3bff18
from needs to less than to in float range (#128329)
parkertimmins May 22, 2025
19e18a9
[ML] Use internal user for internal inference action (#128327)
jonathan-buttner May 22, 2025
f6e4a26
chore(deps): update wolfi (versioned) (#126468)
elastic-renovate-prod[bot] May 22, 2025
c7cf850
Add Hugging Face Rerank support (#127966)
Evgenii-Kazannik May 22, 2025
4c6b141
Avoiding infinite loop for invalid files in rest spec parser (#128335)
masseyke May 22, 2025
1a641e5
Bring over merge scheduler features from stateless (#128155)
BrianRothermich May 22, 2025
cf1f48e
ESQL: Use less data in test (#128337)
nik9000 May 22, 2025
7c39f26
Mute org.elasticsearch.packaging.test.DockerTests test120DockerLogsIn…
elasticsearchmachine May 22, 2025
2f01d17
Fix thread leak in ManyShardsIT (#128321)
idegtiarenko May 23, 2025
aeafcd2
Mute org.elasticsearch.packaging.test.TemporaryDirectoryConfigTests t…
elasticsearchmachine May 23, 2025
6bf5316
Fix NPE in APMTracer through RestController (#128314)
ldematte May 23, 2025
cc5aa91
Ensure config reload on ..data symlink switch for CSI driver support …
jfreden May 23, 2025
6aed71f
Add profile description labels for FORK sub plans (#128318)
ioanatia May 23, 2025
8085eea
Change exceptions to IllegalArgumentException in GroupingDocValuesSel…
iverase May 23, 2025
d7aebb8
[release-notes] Add release-notes for 9.0.2 (#128319)
brianseeders May 23, 2025
b977b04
Rename Azure Active Directory to Microsoft Entra ID (#128351)
c-salv May 23, 2025
e88bcaf
Better handling of node ids from shutdown metadata (#128298)
ldematte May 23, 2025
cae06b8
Fix code-callout rendering (#128365)
reakaleek May 23, 2025
169527f
Add aws.config source indices to kibana_system role permissions (#128…
kcreddy May 23, 2025
de25987
Mute org.elasticsearch.reservedstate.service.FileSettingsServiceIT te…
elasticsearchmachine May 23, 2025
7e4d96e
Platform-independent paths in TestBuildInfoPluginFuncTest (#128303)
prdoyle May 23, 2025
0c3d47d
ESQL: Fix validation NPE in Enrich and add extra @Nullable annotation…
ivancea May 23, 2025
45bfaab
ESQL: ROUND_TO function (#128278)
nik9000 May 23, 2025
c96a99a
[ML] Pass timeout to chat completion (#128338)
prwhelan May 23, 2025
00c3146
[CI] Add windows-2025 to windows testing (#127850)
brianseeders May 23, 2025
a13a46a
[tests] StandaloneRestIntegTestTask should set a minimum maxParallelF…
brianseeders May 23, 2025
de7c91c
Use IndexOrDocValuesQuery in NumberFieldType#termQuery implementation…
iverase May 23, 2025
5b3a4f3
[ML] Yaml test that runs inference as a non-admin user (#128363)
davidkyle May 23, 2025
dd180be
ESQL: Fix docs for ROUND_TO (#128382)
nik9000 May 23, 2025
7207692
Adding dry_run mode for setting data stream settings (#128269)
masseyke May 23, 2025
584c60e
ESQL: Enable docs for ROUND_TO (#128378)
nik9000 May 23, 2025
55956d4
Docs: Fix match_phrase docs for zero_terms_query (#128387)
ioanatia May 23, 2025
c822a57
[ML] Prevent retention classes from failing when deleting documents i…
valeriy42 May 23, 2025
2310bca
Remove Enterprise Search Service Account (#124655)
markjhoy May 23, 2025
13a0e97
Improve TestBuildInfoPluginFuncTest (#128322)
prdoyle May 23, 2025
51e87cb
Use new source loader when lower docId is accessed (#128320)
parkertimmins May 23, 2025
80a41a7
Mute org.elasticsearch.xpack.esql.qa.single_node.PushQueriesIT testEq…
elasticsearchmachine May 23, 2025
a8739a7
Mute org.elasticsearch.index.query.MultiMatchQueryBuilderTests testTo…
elasticsearchmachine May 24, 2025
6c7d43c
Mute org.elasticsearch.xpack.ml.integration.InferenceIngestIT testPip…
elasticsearchmachine May 24, 2025
05cd728
Mute org.elasticsearch.xpack.search.CrossClusterAsyncSearchIT testCCS…
elasticsearchmachine May 24, 2025
431a665
Mute org.elasticsearch.xpack.esql.action.ForkIT testProfile #128377
elasticsearchmachine May 24, 2025
d815e28
Mute org.elasticsearch.xpack.esql.action.CrossClusterQueryWithFilters…
elasticsearchmachine May 25, 2025
844ee68
Added geometry validation for GEO types to exit early on invalid lati…
craigtaverner May 25, 2025
dfe1357
[ES|QL] Allow lookup join on mixed numeric fields (#128263)
fang-xing-esql May 25, 2025
f76e201
Increase concurrency for TS command (#128419)
dnhatn May 26, 2025
8554e19
Fix ForkIT.testProfile test (#128398)
ioanatia May 26, 2025
74d025e
Fix FileSettingsServiceIT race condition (#128374)
jfreden May 26, 2025
2fabf6a
Revert "Temporarily disable use_default_lucene_postings_format featur…
martijnvg May 26, 2025
314dc1a
Replace chars (#128439)
theletterf May 26, 2025
7e269a9
Remove tsdb_doc_values_optimized_merge feature flag. (#128435)
martijnvg May 26, 2025
444d148
Adjust generated query in MultiMatchQueryBuilderTests (#128436)
iverase May 26, 2025
940bea7
Allow for mark == bytes.length. (#128340)
prdoyle May 26, 2025
b89b86d
Adjust generated pushdown query for IndexOrDocValuesQuery (#128434)
iverase May 26, 2025
c1df652
CompositeSyntheticFieldLoader tweak (#128461)
martijnvg May 26, 2025
8929a64
Add sum_over_time aggregation (#128413)
pabloem May 26, 2025
b282b6e
Revert changes to Text class (#128483)
prdoyle May 26, 2025
83fe2ed
Optimise shared-blob-cache evictions (#126581)
nicktindall May 27, 2025
b759161
ES|QL dense vector field type support (#126456)
carlosdelest May 27, 2025
7bcbca1
Upgrade MinIO test container (#128424)
DaveCTurner May 27, 2025
e352d2c
Fix memory tracking of ES|QL sample agg (#128467)
jan-elastic May 27, 2025
0a46527
[DOCS] Document `join` field type not available on serverless current…
leemthompo May 27, 2025
2134a1e
Remove pesky restricted method warnings in tests. (#128212)
ChrisHegarty May 27, 2025
7690f46
Revert changes to Text class (#128483) (#128484)
prdoyle May 27, 2025
0e3f379
Skip bootstrap checks on snapshot builds (#128448)
ldematte May 27, 2025
7f2ddff
Use TestUtil.alwaysKnnVectorsFormat where possible in tests (#128477)
ChrisHegarty May 27, 2025
beabbb3
Mute org.elasticsearch.xpack.esql.plugin.DataNodeRequestSenderIT test…
elasticsearchmachine May 27, 2025
0a10581
[Cloud Security] update index privileges
CohenIdo May 27, 2025
3bc6a43
Support concurrent multipart uploads in Azure (#128449)
tlrx May 27, 2025
6a4a285
Conditionally force sequential reading in LuceneSyntheticSourceChange…
martijnvg May 27, 2025
ea4dc14
Merge patch/serverless-fix into main
May 27, 2025
52bc94e
[INFERENCE] Adding VoyageAI's v3.5 models (#128241)
fzowl May 27, 2025
21fe40a
ESQL: Add optimization to purge join on null merge key (#127583)
bpintea May 27, 2025
9e57f14
generate sequence diagramRefactor logger declaration (#128457)
idegtiarenko May 27, 2025
cdc7474
Note in Javadocs that `SubscribableListener` fires once (#128131)
DaveCTurner May 27, 2025
b909a50
Create a pipeline to run micro-benchmarks periodically (#128507)
idegtiarenko May 27, 2025
488bd6a
Update wolfi (versioned) (#128516)
elastic-renovate-prod[bot] May 27, 2025
6d63670
Add support for parameters in LIMIT command (#128464)
luigidellaquila May 27, 2025
0404c07
Adjusting the google vertex ai batch size to match documentation (#12…
jonathan-buttner May 27, 2025
a78f1f0
Refactor TestBuildInfoPluginFuncTest for clarity (#128469)
prdoyle May 27, 2025
13f3864
Fix KQL usage in in STATS .. BY (#128371)
carlosdelest May 27, 2025
2830768
[ML] Integrate OpenAi Chat Completion in SageMaker (#127767)
prwhelan May 27, 2025
7532ad5
ESQL: Raise timeout on test suite (#128525)
nik9000 May 27, 2025
8484b71
ES|QL: Make skip_unavailable catch all errors (#128163)
smalyshev May 27, 2025
41f186d
Adding prefer_ilm as a whitelisted data stream setting (#128375)
masseyke May 27, 2025
7f2e55f
Skip indexing points for seq_no in tsdb and logsdb (#128139)
dnhatn May 27, 2025
890c4e2
Mute EsqlRestValidationIT
dnhatn May 28, 2025
df82c06
Mute org.elasticsearch.xpack.ccr.index.engine.FollowingEngineTests te…
elasticsearchmachine May 28, 2025
392777d
Return unsupported attributes in FORK output (#128508)
ioanatia May 28, 2025
790be1e
Mute org.elasticsearch.xpack.esql.action.CrossClusterQueryWithPartial…
elasticsearchmachine May 28, 2025
6bc1452
Make repositories project aware (#128285)
ywangd May 28, 2025
e5cdc58
Add integration test for concurrent multipart uploads on Azure (#128503)
tlrx May 28, 2025
0aae7f6
ESQL: Add INLINESTATS capability requirement to tests (#128556)
GalLalouche May 28, 2025
4a831d0
[9.x] Add an integration test to verify DirectIO is used for BBQ resc…
ChrisHegarty May 28, 2025
ac08e9c
Adds ml-cpp release notes for 9.0 (#128567)
kosabogi May 28, 2025
53668f7
Improve exception for trained model deployment scale up timeout (#128…
dan-rubinstein May 28, 2025
83a13b9
Making the data stream settngs rest-api-spec consistent with the elas…
masseyke May 28, 2025
ba50798
Split PolicyChecker from PolicyManager (#128004)
prdoyle May 28, 2025
f275b71
ES|QL: Improve field resolution for FORK (#128501)
ioanatia May 28, 2025
c2ad34b
[release-notes] Update automation to use new markdown format (#124161)
brianseeders May 28, 2025
8c89037
ESQL: Speed up semantic_text tests (#128591)
nik9000 May 28, 2025
86cef7f
[ML] InferenceService support aliases (#128584)
prwhelan May 28, 2025
5c48295
Re-enable and fix the EsqlRestValidationIT test (#128542)
smalyshev May 28, 2025
83d7b7d
Add REST & Transport layers section to GeneralArchitectureGuide.md (#…
nicktindall May 29, 2025
33fc85f
ESQL: Move some mappers into their expressions (#128342)
nik9000 May 29, 2025
f65949d
Mute org.elasticsearch.packaging.test.DockerTests test124CanRestartCo…
elasticsearchmachine May 29, 2025
df43f83
Fix serialization issue with RunTask using Configuration Cache (#128596)
breskeby May 29, 2025
1c1907f
Fix typo in DistributedArchitectureGuide (#128373)
joshua-adams-1 May 29, 2025
56e75ce
Mute org.elasticsearch.reservedstate.service.FileSettingsServiceIT te…
elasticsearchmachine May 29, 2025
dc2fbe1
Removing the data stream settings feature flag (#128594)
masseyke May 29, 2025
2375e89
Make writerWithOffset fully delegate to the writer it wraps (#126937)
andreidan May 29, 2025
3b54afd
[DOCS] Edit dynamic and static setting links (#128537)
lcawl May 29, 2025
68d5cc6
Use all bbq index types in DirectIOIT (#128620)
ChrisHegarty May 29, 2025
57d4e15
Bugfix: Prevent invalid privileges in manage roles privilege (#128532)
gmjehovich May 29, 2025
bf0dc6e
[ML] Write Chat Completion JSON (#128592)
prwhelan May 29, 2025
1b151ed
ESQL: Compute engine support for tagged queries (#128521)
nik9000 May 29, 2025
7f05ab9
Fix and test off-heap stats when using direct IO for accessing the ra…
ChrisHegarty May 29, 2025
554b96a
[Entitlements] Add missing NIO async network instrumentation (#128582)
ldematte May 29, 2025
107daf3
Implemented ChatCompletion task for Google VertexAI with Gemini Model…
leo-hoet May 29, 2025
1994232
Bump versions after 8.18.2 release
May 29, 2025
e241efa
Prune changelogs after 8.18.2 release
May 29, 2025
77595cb
[Entitlements] Add test entitlement bootstrap and initialization clas…
prdoyle May 29, 2025
9db1837
Adding configurable inference service (#127939)
jonathan-buttner May 29, 2025
7bf2864
Mute org.elasticsearch.packaging.test.DockerTests test085EnvironmentV…
elasticsearchmachine May 29, 2025
1ab2e6c
Combine small pages in Limit (#128531)
dnhatn May 29, 2025
e453b53
Mute org.elasticsearch.test.apmintegration.TracesApmIT testApmIntegra…
elasticsearchmachine May 30, 2025
cc461af
Fix: Allow non-score sorts in pinned retriever sub-retrievers (#128323)
mridula-s109 May 30, 2025
0a80916
ESQL: Pushdown constructs doing case-insensitive regexes (#128393)
bpintea May 30, 2025
657f5ff
Update Gradle wrapper to 8.14.1 (#128438)
breskeby May 30, 2025
3443a6e
Improve get-snapshots message for unreadable repository (#128273)
DaveCTurner May 30, 2025
bc1d751
[Test] More accurate pattern matching for testWatchdogLogging (#128648)
ywangd May 30, 2025
b2e9eb2
[Build] Cleanup root and remove unneeded files (#128666)
breskeby May 30, 2025
6311bb3
Support per-project s3 clients (#127631)
ywangd May 30, 2025
0f5bb62
Mute org.elasticsearch.xpack.esql.expression.function.scalar.string.W…
elasticsearchmachine May 30, 2025
c46f73a
Mute org.elasticsearch.xpack.esql.expression.function.scalar.string.W…
elasticsearchmachine May 30, 2025
11ba232
Mute org.elasticsearch.test.apmintegration.MetricsApmIT testApmIntegr…
elasticsearchmachine May 30, 2025
c14e602
Run field extraction concurrently in TS (#128643)
dnhatn May 30, 2025
6d4a613
[ES|QL] Enable telemetry for the rerank command (#128679)
afoucret May 30, 2025
b735cf9
Count and Count distinct functions for tsds (#128530)
pabloem May 30, 2025
2850e2b
[ES|QL] RERANK command default inferenceId (#128685)
afoucret May 30, 2025
3e0584a
Modify the mechanism to pause indexing (#128405)
ankikuma May 30, 2025
7f7cb83
[ML] Ensure EIS auth response exists before executing tests (#128640)
jonathan-buttner May 30, 2025
b73a180
This adds a new experimental IVF format behind a feature flag (#128631)
benwtrent May 30, 2025
9e40dc4
Encapsulate entitlements (#128637)
prdoyle May 30, 2025
2be74a4
Fully initialize policy checker before instrumenting (#128703)
rjernst May 30, 2025
3c4dada
Mute org.elasticsearch.xpack.esql.expression.function.scalar.string.R…
elasticsearchmachine May 31, 2025
f42b259
Mute org.elasticsearch.xpack.esql.expression.function.scalar.string.R…
elasticsearchmachine May 31, 2025
060475d
Mute org.elasticsearch.repositories.s3.S3ClientsManagerTests testClie…
elasticsearchmachine May 31, 2025
06567d0
Mute org.elasticsearch.xpack.esql.expression.function.scalar.string.R…
elasticsearchmachine May 31, 2025
14642e9
Mute org.elasticsearch.xpack.esql.expression.function.scalar.string.R…
elasticsearchmachine May 31, 2025
4918017
Mute org.elasticsearch.xpack.esql.expression.function.scalar.string.W…
elasticsearchmachine May 31, 2025
24349f9
Mute org.elasticsearch.xpack.esql.expression.function.scalar.string.W…
elasticsearchmachine May 31, 2025
2b3f6a3
Mute org.elasticsearch.xpack.esql.expression.function.scalar.string.W…
elasticsearchmachine May 31, 2025
e9113df
Mute org.elasticsearch.xpack.esql.expression.function.scalar.string.W…
elasticsearchmachine May 31, 2025
93d2557
Mute org.elasticsearch.xpack.esql.expression.function.scalar.string.R…
elasticsearchmachine May 31, 2025
16c63ff
Mute org.elasticsearch.xpack.esql.expression.function.scalar.string.R…
elasticsearchmachine May 31, 2025
a4c731d
Mute org.elasticsearch.compute.operator.LimitOperatorTests testEarlyT…
elasticsearchmachine Jun 1, 2025
df16eee
Mute org.elasticsearch.packaging.test.DockerTests test040JavaUsesTheO…
elasticsearchmachine Jun 1, 2025
b286748
[CI] Fix testClientsLifeCycleForSingleProject (#128718)
ywangd Jun 1, 2025
aa0397f
Update shardGenerations for all indices on snapshot finalization (#12…
ywangd Jun 2, 2025
c140379
Handle quotes in gradle arguments (#128548)
idegtiarenko Jun 2, 2025
4eca317
Update dissect-processor.md (#128708)
georgewallace Jun 2, 2025
03173af
Start polling after data computation is started (#128575)
idegtiarenko Jun 2, 2025
b688080
Refactor full text functions optimizer tests to add coverage to all f…
carlosdelest Jun 2, 2025
8312613
Avoid unnecessary determinization in index pattern conflict checks (#…
jimczi Jun 2, 2025
bdf073d
Introduce grouping in TopN operator
przemekwitek May 19, 2025
211d321
Apply review comments
przemekwitek May 22, 2025
d660674
[CI] Auto commit changes from spotless
May 20, 2025
d0c1768
Implement a few tests of TopN with a single partition field
przemekwitek May 30, 2025
5d256fa
Merge branch 'topn_partition' of https://github.com/przemekwitek/elas…
przemekwitek Jun 2, 2025
acf0f69
[CI] Auto commit changes from spotless
Jun 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .buildkite/pipelines/intake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ steps:
timeout_in_minutes: 300
matrix:
setup:
BWC_VERSION: ["8.17.7", "8.18.2", "8.19.0", "9.0.2", "9.1.0"]
BWC_VERSION: ["8.17.7", "8.18.3", "8.19.0", "9.0.2", "9.1.0"]
agents:
provider: gcp
image: family/elasticsearch-ubuntu-2004
Expand Down
10 changes: 10 additions & 0 deletions .buildkite/pipelines/periodic-micro-benchmarks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
steps:
- label: periodic-micro-benchmarks
command: |
.ci/scripts/run-gradle.sh :benchmarks:run --args 'org.elasticsearch.benchmark._nightly -rf json -rff build/result.json'
timeout_in_minutes: 300
agents:
provider: gcp
image: family/elasticsearch-ubuntu-2004
machineType: custom-32-98304
buildDirectory: /dev/shm/bk
1 change: 1 addition & 0 deletions .buildkite/pipelines/periodic-packaging.template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ steps:
setup:
image:
- windows-2022
- windows-2025
agents:
provider: gcp
image: family/elasticsearch-{{matrix.image}}
Expand Down
7 changes: 4 additions & 3 deletions .buildkite/pipelines/periodic-packaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -319,8 +319,8 @@ steps:
env:
BWC_VERSION: 8.17.7

- label: "{{matrix.image}} / 8.18.2 / packaging-tests-upgrade"
command: ./.ci/scripts/packaging-test.sh -Dbwc.checkout.align=true destructiveDistroUpgradeTest.v8.18.2
- label: "{{matrix.image}} / 8.18.3 / packaging-tests-upgrade"
command: ./.ci/scripts/packaging-test.sh -Dbwc.checkout.align=true destructiveDistroUpgradeTest.v8.18.3
timeout_in_minutes: 300
matrix:
setup:
Expand All @@ -333,7 +333,7 @@ steps:
machineType: custom-16-32768
buildDirectory: /dev/shm/bk
env:
BWC_VERSION: 8.18.2
BWC_VERSION: 8.18.3

- label: "{{matrix.image}} / 8.19.0 / packaging-tests-upgrade"
command: ./.ci/scripts/packaging-test.sh -Dbwc.checkout.align=true destructiveDistroUpgradeTest.v8.19.0
Expand Down Expand Up @@ -393,6 +393,7 @@ steps:
setup:
image:
- windows-2022
- windows-2025
agents:
provider: gcp
image: family/elasticsearch-{{matrix.image}}
Expand Down
1 change: 1 addition & 0 deletions .buildkite/pipelines/periodic-platform-support.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ steps:
setup:
image:
- windows-2022
- windows-2025
GRADLE_TASK:
- checkPart1
- checkPart2
Expand Down
10 changes: 5 additions & 5 deletions .buildkite/pipelines/periodic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -344,8 +344,8 @@ steps:
- signal_reason: agent_stop
limit: 3

- label: 8.18.2 / bwc
command: .ci/scripts/run-gradle.sh -Dbwc.checkout.align=true v8.18.2#bwcTest
- label: 8.18.3 / bwc
command: .ci/scripts/run-gradle.sh -Dbwc.checkout.align=true v8.18.3#bwcTest
timeout_in_minutes: 300
agents:
provider: gcp
Expand All @@ -354,7 +354,7 @@ steps:
buildDirectory: /dev/shm/bk
preemptible: true
env:
BWC_VERSION: 8.18.2
BWC_VERSION: 8.18.3
retry:
automatic:
- exit_status: "-1"
Expand Down Expand Up @@ -486,7 +486,7 @@ steps:
setup:
ES_RUNTIME_JAVA:
- openjdk21
BWC_VERSION: ["8.17.7", "8.18.2", "8.19.0", "9.0.2", "9.1.0"]
BWC_VERSION: ["8.17.7", "8.18.3", "8.19.0", "9.0.2", "9.1.0"]
agents:
provider: gcp
image: family/elasticsearch-ubuntu-2004
Expand Down Expand Up @@ -529,7 +529,7 @@ steps:
ES_RUNTIME_JAVA:
- openjdk21
- openjdk23
BWC_VERSION: ["8.17.7", "8.18.2", "8.19.0", "9.0.2", "9.1.0"]
BWC_VERSION: ["8.17.7", "8.18.3", "8.19.0", "9.0.2", "9.1.0"]
agents:
provider: gcp
image: family/elasticsearch-ubuntu-2004
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ steps:
setup:
image:
- windows-2022
- windows-2025
PACKAGING_TASK:
- default-windows-archive
agents:
Expand Down
2 changes: 1 addition & 1 deletion .ci/bwcVersions
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ BWC_VERSION:
- "8.15.5"
- "8.16.6"
- "8.17.7"
- "8.18.2"
- "8.18.3"
- "8.19.0"
- "9.0.2"
- "9.1.0"
2 changes: 1 addition & 1 deletion .ci/scripts/run-gradle.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@ else
fi

set -e
$GRADLEW -S --max-workers=$MAX_WORKERS $@
$GRADLEW -S --max-workers=$MAX_WORKERS "$@"
2 changes: 1 addition & 1 deletion .ci/snapshotBwcVersions
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BWC_VERSION:
- "8.17.7"
- "8.18.2"
- "8.18.3"
- "8.19.0"
- "9.0.2"
- "9.1.0"
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
* License v3.0 only", or the "Server Side Public License, v 1".
*/

package org.elasticsearch.benchmark.esql;
package org.elasticsearch.benchmark._nightly.esql;

import org.elasticsearch.common.logging.LogConfigurator;
import org.elasticsearch.common.settings.Settings;
Expand Down Expand Up @@ -67,9 +67,9 @@ public class QueryPlanningBenchmark {
}

private PlanTelemetry telemetry;
private EsqlParser parser;
private Analyzer analyzer;
private LogicalPlanOptimizer optimizer;
private EsqlParser defaultParser;
private Analyzer manyFieldsAnalyzer;
private LogicalPlanOptimizer defaultOptimizer;

@Setup
public void setup() {
Expand Down Expand Up @@ -100,8 +100,8 @@ public void setup() {
var functionRegistry = new EsqlFunctionRegistry();

telemetry = new PlanTelemetry(functionRegistry);
parser = new EsqlParser();
analyzer = new Analyzer(
defaultParser = new EsqlParser();
manyFieldsAnalyzer = new Analyzer(
new AnalyzerContext(
config,
functionRegistry,
Expand All @@ -112,10 +112,10 @@ public void setup() {
),
new Verifier(new Metrics(functionRegistry), new XPackLicenseState(() -> 0L))
);
optimizer = new LogicalPlanOptimizer(new LogicalOptimizerContext(config, FoldContext.small()));
defaultOptimizer = new LogicalPlanOptimizer(new LogicalOptimizerContext(config, FoldContext.small()));
}

private LogicalPlan plan(String query) {
private LogicalPlan plan(EsqlParser parser, Analyzer analyzer, LogicalPlanOptimizer optimizer, String query) {
var parsed = parser.createStatement(query, new QueryParams(), telemetry);
var analyzed = analyzer.analyze(parsed);
var optimized = optimizer.optimize(analyzed);
Expand All @@ -124,6 +124,6 @@ private LogicalPlan plan(String query) {

@Benchmark
public void manyFields(Blackhole blackhole) {
blackhole.consume(plan("FROM test | LIMIT 10"));
blackhole.consume(plan(defaultParser, manyFieldsAnalyzer, defaultOptimizer, "FROM test | LIMIT 10"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.elasticsearch.common.breaker.NoopCircuitBreaker;
import org.elasticsearch.common.logging.LogConfigurator;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.unit.ByteSizeUnit;
import org.elasticsearch.common.util.BigArrays;
import org.elasticsearch.compute.data.Block;
import org.elasticsearch.compute.data.BlockFactory;
Expand Down Expand Up @@ -44,13 +45,15 @@
import org.elasticsearch.xpack.esql.expression.function.scalar.conditional.Case;
import org.elasticsearch.xpack.esql.expression.function.scalar.date.DateTrunc;
import org.elasticsearch.xpack.esql.expression.function.scalar.math.Abs;
import org.elasticsearch.xpack.esql.expression.function.scalar.math.RoundTo;
import org.elasticsearch.xpack.esql.expression.function.scalar.multivalue.MvMin;
import org.elasticsearch.xpack.esql.expression.function.scalar.nulls.Coalesce;
import org.elasticsearch.xpack.esql.expression.function.scalar.string.RLike;
import org.elasticsearch.xpack.esql.expression.function.scalar.string.ToLower;
import org.elasticsearch.xpack.esql.expression.function.scalar.string.ToUpper;
import org.elasticsearch.xpack.esql.expression.function.scalar.string.regex.RLike;
import org.elasticsearch.xpack.esql.expression.predicate.operator.arithmetic.Add;
import org.elasticsearch.xpack.esql.expression.predicate.operator.comparison.Equals;
import org.elasticsearch.xpack.esql.expression.predicate.operator.comparison.LessThan;
import org.elasticsearch.xpack.esql.planner.Layout;
import org.elasticsearch.xpack.esql.plugin.EsqlPlugin;
import org.elasticsearch.xpack.esql.session.Configuration;
Expand Down Expand Up @@ -128,6 +131,10 @@ static void selfTest() {
"long_equal_to_int",
"mv_min",
"mv_min_ascending",
"round_to_4_via_case",
"round_to_2",
"round_to_3",
"round_to_4",
"rlike",
"to_lower",
"to_lower_ords",
Expand Down Expand Up @@ -240,6 +247,65 @@ private static EvalOperator.ExpressionEvaluator evaluator(String operation) {
RLike rlike = new RLike(Source.EMPTY, keywordField, new RLikePattern(".ar"));
yield EvalMapper.toEvaluator(FOLD_CONTEXT, rlike, layout(keywordField)).get(driverContext);
}
case "round_to_4_via_case" -> {
FieldAttribute f = longField();

Expression ltkb = new LessThan(Source.EMPTY, f, kb());
Expression ltmb = new LessThan(Source.EMPTY, f, mb());
Expression ltgb = new LessThan(Source.EMPTY, f, gb());
EvalOperator.ExpressionEvaluator evaluator = EvalMapper.toEvaluator(
FOLD_CONTEXT,
new Case(Source.EMPTY, ltkb, List.of(b(), ltmb, kb(), ltgb, mb(), gb())),
layout(f)
).get(driverContext);
String desc = "CaseLazyEvaluator";
if (evaluator.toString().contains(desc) == false) {
throw new IllegalArgumentException("Evaluator was [" + evaluator + "] but expected one containing [" + desc + "]");
}
yield evaluator;
}
case "round_to_2" -> {
FieldAttribute f = longField();

EvalOperator.ExpressionEvaluator evaluator = EvalMapper.toEvaluator(
FOLD_CONTEXT,
new RoundTo(Source.EMPTY, f, List.of(b(), kb())),
layout(f)
).get(driverContext);
String desc = "RoundToLong2";
if (evaluator.toString().contains(desc) == false) {
throw new IllegalArgumentException("Evaluator was [" + evaluator + "] but expected one containing [" + desc + "]");
}
yield evaluator;
}
case "round_to_3" -> {
FieldAttribute f = longField();

EvalOperator.ExpressionEvaluator evaluator = EvalMapper.toEvaluator(
FOLD_CONTEXT,
new RoundTo(Source.EMPTY, f, List.of(b(), kb(), mb())),
layout(f)
).get(driverContext);
String desc = "RoundToLong3";
if (evaluator.toString().contains(desc) == false) {
throw new IllegalArgumentException("Evaluator was [" + evaluator + "] but expected one containing [" + desc + "]");
}
yield evaluator;
}
case "round_to_4" -> {
FieldAttribute f = longField();

EvalOperator.ExpressionEvaluator evaluator = EvalMapper.toEvaluator(
FOLD_CONTEXT,
new RoundTo(Source.EMPTY, f, List.of(b(), kb(), mb(), gb())),
layout(f)
).get(driverContext);
String desc = "RoundToLong4";
if (evaluator.toString().contains(desc) == false) {
throw new IllegalArgumentException("Evaluator was [" + evaluator + "] but expected one containing [" + desc + "]");
}
yield evaluator;
}
case "to_lower", "to_lower_ords" -> {
FieldAttribute keywordField = keywordField();
ToLower toLower = new ToLower(Source.EMPTY, keywordField, configuration());
Expand Down Expand Up @@ -419,6 +485,69 @@ private static void checkExpected(String operation, Page actual) {
}
}
}
case "round_to_4_via_case", "round_to_4" -> {
long b = 1;
long kb = ByteSizeUnit.KB.toBytes(1);
long mb = ByteSizeUnit.MB.toBytes(1);
long gb = ByteSizeUnit.GB.toBytes(1);

LongVector f = actual.<LongBlock>getBlock(0).asVector();
LongVector result = actual.<LongBlock>getBlock(1).asVector();
for (int i = 0; i < BLOCK_LENGTH; i++) {
long expected = f.getLong(i);
if (expected < kb) {
expected = b;
} else if (expected < mb) {
expected = kb;
} else if (expected < gb) {
expected = mb;
} else {
expected = gb;
}
if (result.getLong(i) != expected) {
throw new AssertionError("[" + operation + "] expected [" + expected + "] but was [" + result.getLong(i) + "]");
}
}
}
case "round_to_3" -> {
long b = 1;
long kb = ByteSizeUnit.KB.toBytes(1);
long mb = ByteSizeUnit.MB.toBytes(1);

LongVector f = actual.<LongBlock>getBlock(0).asVector();
LongVector result = actual.<LongBlock>getBlock(1).asVector();
for (int i = 0; i < BLOCK_LENGTH; i++) {
long expected = f.getLong(i);
if (expected < kb) {
expected = b;
} else if (expected < mb) {
expected = kb;
} else {
expected = mb;
}
if (result.getLong(i) != expected) {
throw new AssertionError("[" + operation + "] expected [" + expected + "] but was [" + result.getLong(i) + "]");
}
}
}
case "round_to_2" -> {
long b = 1;
long kb = ByteSizeUnit.KB.toBytes(1);

LongVector f = actual.<LongBlock>getBlock(0).asVector();
LongVector result = actual.<LongBlock>getBlock(1).asVector();
for (int i = 0; i < BLOCK_LENGTH; i++) {
long expected = f.getLong(i);
if (expected < kb) {
expected = b;
} else {
expected = kb;
}
if (result.getLong(i) != expected) {
throw new AssertionError("[" + operation + "] expected [" + expected + "] but was [" + result.getLong(i) + "]");
}
}
}
case "to_lower" -> checkBytes(operation, actual, false, new BytesRef[] { new BytesRef("foo"), new BytesRef("bar") });
case "to_lower_ords" -> checkBytes(operation, actual, true, new BytesRef[] { new BytesRef("foo"), new BytesRef("bar") });
case "to_upper" -> checkBytes(operation, actual, false, new BytesRef[] { new BytesRef("FOO"), new BytesRef("BAR") });
Expand Down Expand Up @@ -450,7 +579,7 @@ private static void checkBytes(String operation, Page actual, boolean expectOrds

private static Page page(String operation) {
return switch (operation) {
case "abs", "add", "date_trunc", "equal_to_const" -> {
case "abs", "add", "date_trunc", "equal_to_const", "round_to_4_via_case", "round_to_2", "round_to_3", "round_to_4" -> {
var builder = blockFactory.newLongBlockBuilder(BLOCK_LENGTH);
for (int i = 0; i < BLOCK_LENGTH; i++) {
builder.appendLong(i * 100_000);
Expand Down Expand Up @@ -540,6 +669,26 @@ private static Page page(String operation) {
};
}

private static Literal b() {
return lit(1L);
}

private static Literal kb() {
return lit(ByteSizeUnit.KB.toBytes(1));
}

private static Literal mb() {
return lit(ByteSizeUnit.MB.toBytes(1));
}

private static Literal gb() {
return lit(ByteSizeUnit.GB.toBytes(1));
}

private static Literal lit(long v) {
return new Literal(Source.EMPTY, v, DataType.LONG);
}

@Benchmark
@OperationsPerInvocation(1024 * BLOCK_LENGTH)
public void run() {
Expand Down
Loading