Commit graph

21533 commits

Author SHA1 Message Date
Mike Pellegrini
52495aa5fc
Fix incorrect accounting of semantic text indexing memory pressure (#130221) 2025-06-27 14:29:54 -04:00
Nhat Nguyen
ddef899837
Allow LimitOperator in Driver assertion (#130235)
The LimitOperator can be finished early because the Limiter may be 
shared across operators. This PR relaxes the assertion to allow for
this.

Closes #130228
Closes #130219
2025-06-27 11:27:51 -07:00
Tim Brooks
ea2e7b4382
Reapply "Dispatch ingest work to coordination thread pool (#130152)
This reverts commit 73b0a60.

Additionally, it adds thread pool documentation.
2025-06-27 11:34:28 -06:00
Iván Cea Fontenla
287d32d86d
[ESQL] Implement missing methods of TimeSeriesAggregate (#130218)
The base methods `expressionsResolved()`, `hashCode()` and `equals()` weren't checking `timeBucket`
2025-06-28 02:59:24 +10:00
Keith Massey
21bb836ce5
Adding actions to get and update data stream mappings (#130042) 2025-06-27 10:29:06 -05:00
Niels Bauman
e955872ba4
Make ILMHistoryStore semi-project-aware (#129933)
Ensures the history store is able to index documents into a non-default
project, but it doesn't actually work with multiple concurrent projects.
2025-06-28 00:46:56 +10:00
Luigi Dell'Aquila
0299f4edda
ES|QL: fix telemetry tests after FORK release (#129983) 2025-06-27 16:40:00 +02:00
Niels Bauman
dbc8d74b14
Make IlmHealthIndicatorService work in multi-project cluster (#129961)
This does _not_ make the health indicator project-aware, it merely
avoids exceptions in case there are multiple projects in the cluster.
The health indicator would require significant refactoring to be made
project-aware, which is not worth it since ILM will not be running in a
multi-project context (i.e. serverless).
2025-06-28 00:20:54 +10:00
Niels Bauman
1d3cab14e8
Make ESQL join operators project-aware (#130040)
Allows both the enrich and lookup join operators to work with multiple
projects.
2025-06-28 00:17:14 +10:00
Luigi Dell'Aquila
201a8c99e6
Fix EsqlActionIT.testGroupingStatsOnMissingFields in release tests (#130177) 2025-06-27 13:35:23 +02:00
Sam Xiao
3200abc4ce
Make EnterpriseGeoIpDownloaderLicenseListener project aware (#129992) 2025-06-27 16:12:09 +08:00
Nick Tindall
77b459c454
Improve accuracy of write load forecast when shard numbers change (#129990) 2025-06-27 13:04:50 +10:00
Gal Lalouche
8acf94b6c3
ESQL: Refine assertion in Driver (#130127)
Refines an assertion that the next operator is never finished, which is actually possible if the next operator is an ExchangeSinkOperator.
2025-06-27 10:17:37 +10:00
Jordan Powers
40a7d02269
Pull match_only_text fixes into main (#130049)
This brings in the fixes from #130020, with minor fixes to address review
nits from that PR.

Co-authored-by: Martijn van Groningen <martijn.v.groningen@gmail.com>
2025-06-27 04:31:33 +10:00
Aurélien FOUCRET
e2dfd5d707
[ES|QL] Fix mapping for the colors & dense vector CSV datasets (failing bwc tests) (#130090) 2025-06-27 02:35:22 +10:00
Kathleen DeRusso
81a6eadba2
Support returning default index_options for semantic_text fields when include_defaults is true (#129967) 2025-06-26 12:31:58 -04:00
Pat Whelan
9cb30cc892
[ML] Support 8.19 + 9.1 clusters for all new inference providers (#130033)
Overriding version support to include the 8.19 patch version.
2025-06-26 11:38:38 -04:00
Pawan Kartik
2667a2d4ba
Fix: prevent duplication of "invalid index name" string in the final exception error message (#130027)
* Use `throwInvalidIndexNameException()` to throw invalid ex after
dropping asterisk in `IdentifierBuilder#resolveAndValidateIndex()`

* Assert the message in test

* Refactor

* drop invalid chars from assertion string due to randomisation issue

* Re-assert invalid chars

* Update docs/changelog/130027.yaml
2025-06-26 16:11:41 +01:00
Luigi Dell'Aquila
78eeeccb48
ES|QL fix StatementParserTests to take into consideration SNAPSHOT (#130098) 2025-06-27 01:08:53 +10:00
Alexander Spies
1ad6dbc599
ESQL: More specific index pattern in testMultipleBatchesWithLookupJoin (#130006)
* Specific idx in testMultipleBatchesWithLookupJoin

Do not use `from *` in the test, be more specifc - otherwise other tests
can affect the output if they leave indices behind, affecting the column
count.

* Remove column count validation

That doesn't really tell us much in this test, anyway.
2025-06-26 15:06:16 +02:00
Niels Bauman
1e9db8b248
Make ILM operation mode APIs project-aware (#129678)
Also updates the lifecycle service.
2025-06-26 22:44:38 +10:00
Albert Zaharovits
f5963959c7
Decrease merge task checker periodicity in tests (#130082)
Decreases the periodicity (from 5s to 100ms), for some tests, with which merge tasks are checked if there's sufficient available disk space to execute or if they've been aborted since enqueued for execution.

Fixes #130044
2025-06-26 15:30:32 +03:00
Nik Everett
59133d5e00
ESQL: Prepare for backport of documents_found (#130039)
Prepares the `main` branch for the backport of #125631. Specifically,
this adds the version constant for 8.19 to main and the serialization
code that lets main talk to 8.19.
2025-06-26 07:51:17 -04:00
Valeriy Khakhutskyy
4c7d922eeb
[ML] Fix timeout bug in DBQ deletion of unused and orphan ML data (#130083)
There was a bug in the code for deleting unused and orphan ML data. When deletion using DBQ occurred, the bug caused the request to time out. This PR resolves the issue.
2025-06-26 13:24:59 +02:00
Luigi Dell'Aquila
9e06a22398
ES|QL: Unmute generative tests (#130081)
Add circuit breaker exceptions to known errors in generative tests
2025-06-26 20:44:30 +10:00
Quentin Pradet
21180dfd8d
Add inference YAML tests to rest-resources-zip (#130070) 2025-06-26 13:55:20 +04:00
Rene Groeschke
e1426b7df6
[Test] Extend timeout for CoreWithMultipleProjectsClientYamlTestSuiteIT timing out in release tests (#130074) 2025-06-26 19:55:05 +10:00
Parker Timmins
9aaba25d58
Simple version of patterned_text with a single doc value for arguments (#129292)
Initial version of patterned_text mapper. Behaves similarly to match_only_text. This version uses a single SortedSetDocValues for a template and another for arguments. It splits the message by delimiters, the classifies a token as an argument if it contains a digit. All arguments are concatenated and inserted as a single doc value. A single inverted index is used, without positions. Phrase queries are still possible, using the SourceConfirmedTextQuery, but are not fast.
2025-06-25 21:31:32 -05:00
Gal Lalouche
6970bd24a0
ESQL: Aggressive release of shard contexts (#129454)
Keep better track of shard contexts using RefCounted, so they can be released more aggressively during operator processing. For example, during TopN, we can potentially release some contexts if they don't pass the limit filter.

This is done in preparation of TopN fetch optimization, which will delay the fetching of additional columns to the data node coordinator, instead of doing it in each individual worker, thereby reducing IO. Since the node coordinator would need to maintain the shard contexts for a potentially longer duration, it is important we try to release what we can eariler.

An even more advanced optimization is to delay fetching to the main cluster coordinator, but that would be more involved, since we need to first figure out how to transport the shard contexts between nodes.

Summary of main changes:

DocVector now maintains a RefCounted instance per shard.
Things which can build or release DocVectors (e.g., LuceneSourceOperator, TopNOperator), can also hold RefCounted instances, so they can pass them to DocVector and also ensure contexts aren't released if they can still be potentially used later.
Driver's main loop iteration (runSingleLoopIteration), now closes its operators even between different operator processing. This is extra aggressive, and was mostly done to improve testability.
Added a couple of tests to TopNOperator and a new integration test EsqlTopNShardManagementIT, which uses the pausable plugin framework to check that TopNOperator releases things as early as possible..
2025-06-26 09:49:40 +10:00
Mark Vieira
e6cf2234fc
Allow ESQL extra verifiers to access settings (#129954) 2025-06-26 09:43:56 +10:00
David Kyle
5be4100afa
[ML] Apply patch logic for Cohere V2 transport changes (#129993) 2025-06-26 05:16:30 +10:00
Nhat Nguyen
2bc62848e8
Avoid dropping aggregate groupings in local plans (#129370)
The local plan optimizer should not change the layout, as it has already 
been agreed upon. However, CombineProjections can violate this when some
grouping elements refer to the same attribute. This occurs when
ReplaceFieldWithConstantOrNull replaces missing fields with the same
reference for a given data type.

Closes #128054
Closes #129811
2025-06-25 11:48:15 -07:00
Pawan Kartik
c94c021d0e
ES|QL: Check if cluster aliases and index patterns are valid before executing query (#122497)
ES|QL index patterns validation: Ensure that the patterns in the query are syntactically and semantically valid

---------

Co-authored-by: elasticsearchmachine <infra-root+elasticsearchmachine@elastic.co>
Co-authored-by: Andrei Stefan <astefan@users.noreply.github.com>
Co-authored-by: Alexander Spies <alexander.spies@elastic.co>
2025-06-25 16:47:42 +01:00
Niels Bauman
bc515c4070
Make IndexLifecycleService project-aware (#129932)
Updates the background service of ILM to process all projects in the
cluster.
2025-06-25 10:38:15 -03:00
Martijn van Groningen
bd5f43f3ee
Build the correct keyword field type for PotentiallyUnmappedKeywordEsField (#129854)
Before a `KeywordFieldType` was created that didn't set the isSyntheticSource field, causing to use the wrong block loader that would synthesize the complete _source instead of just loading values from ignored source. This PR addresses this.
2025-06-25 15:29:26 +02:00
David Turner
138f350840
Upgrade tests to MinIO RELEASE.2025-06-13T11-33-47Z (#129920)
New MinIO release just dropped, migrating the tests to use it and
dropping the workaround for known issues in older versions.
2025-06-25 19:22:41 +10:00
Ievgen Degtiarenko
56d5009924
Add query plans to profile output (#128828) 2025-06-25 10:50:04 +02:00
Tim Vernum
8b62a55f2f
Watch SSL files instead of directories (#129738)
With the introduction of entitlements (#120243) and exclusive file
access (#123087) it is no longer safe to watch a whole directory.

In a lot of deployments, the parent directory for SSL config files
will be the main config directory, which also contains exclusive files
such as SAML realm metadata or File realm users. Watching that
directory will cause entitlement warnings because it is not
permissible for core/ssl-config to read files that are exclusively
owned by the security module (or other modules)
2025-06-25 18:24:57 +10:00
Bogdan Pintea
e245c176a2
ESQL: Add one more test of FTF with LOOKUP JOIN (#129781)
Add one more test of FTF with LOOKUP JOIN
2025-06-25 10:22:06 +02:00
Niels Bauman
73d2e30c39
Clean up x-pack multi-project YAML test mutes (#129965) 2025-06-25 11:04:16 +10:00
Yang Wang
e1c930f8c1
Make RepositoriesService project-aware (#129821)
This PR makes RepositoriesService project aware so that the basic Put,
Get, Delete and Verify repository actions are now project scoped. 

It intentionally leaves the following aspects out of scope for the
current changes: * Repository stats reporting * Repository clean-up,
analysis and integrity verification * Repository usages for searchable
snapshots and CCR

They will be worked on separately. One main reason for leaving them out
is that they are not needed by OBS which is currently blocked by
repository/snapshot changes. They may also have their own complexities,
e.g. stats reporting.

Resolves: ES-10478
2025-06-25 10:34:34 +10:00
Mike Pellegrini
651bc39565
Simplified Linear & RRF Retrievers - Return error on empty fields param (#129962) 2025-06-24 19:25:24 -04:00
David Kyle
3a1551e0ef
[ML] Move to the Cohere V2 API for new inference endpoints (#129884) 2025-06-25 07:51:05 +10:00
Brendan Cully
73b0a60a77
Revert "Dispatch ingest work to coordination thread pool (#129820)" (#129949)
This reverts commit 53dae7a3a2.
2025-06-24 14:38:50 -07:00
HYUNSANG HAN (한현상, Travis)
d16271b78d
Add RemoveBlock API to allow DELETE /{index}/_block/{block} (#129128)
Introduces a new `RemoveBlock` API that complements the existing `AddBlock` API by allowing users to remove index blocks using `DELETE /{index}/_block/{block}`.

Resolves #128966

---------

Co-authored-by: Niels Bauman <nielsbauman@gmail.com>
2025-06-25 06:16:14 +10:00
Tim Grein
3b51dd568c
[EIS] Dense Text Embedding task type integration (#129847) 2025-06-24 21:38:16 +02:00
Tim Grein
870d581084
[EIS] Implement chunked & batched inference for sparse text embeddings (#129922) 2025-06-24 17:22:29 +02:00
Andrei Stefan
9c52106c61
ESQL: Move explain command validation off EsqlSession (#129918) 2025-06-24 18:05:29 +03:00
David Kyle
aaee222dfa
[ML] Add hint about using input_output in the inference processor to error message (#129864) 2025-06-24 21:45:18 +10:00
Slobodan Adamović
ee6d64afdf
[Test] Fix FileSettingsRoleMappingsRestartIT (#129618)
The #127318 changed the behaviour of `client()` to not start a node if there 
is none found in the cluster. Which also changed the `getMasterName()` 
behaviour to simply fail if there are no nodes instead of starting one.

This is why the `getMasterName()` is failing now. There were no nodes 
started because the test scope is set to manually manage master nodes 
(`autoManageMasterNodes = false`) without data nodes (`numDataNodes = 0`).

The fix is to actually start the master node instead of attempting to get 
the master node name from an empty cluster and depend on a side effect 
to actually boostrap a node.

Additionally it awaits for the master node to process all cluster state events 
before proceeding, which should hopefully solve the original cause of failures.

Resolves #120964
Resolves #120923
2025-06-24 12:37:47 +02:00