Commit graph

17916 commits

Author SHA1 Message Date
Colleen McGinnis
d966938842
add missing mapped pages (#126054) 2025-04-01 19:41:37 +02:00
Colleen McGinnis
0e537325fc
[docs] Remove as many redirects as possible (#125663)
* remove as many assembler-related redirects as possible

* Update docs/redirects.yml

* delete more unused temp redirects

* remove more redirects

* remove all redirects to see remaining errors
2025-04-01 16:53:59 +02:00
Craig Taverner
7b263b4b83
Kibana updates, remove links from JSON and split is-null/is-not-null (#125986)
In particular:
* Remove all links (both asciidoc and markdown) from the JSON definition files.
  * This required a two phase edit, from asciidoc links to markdown, and then removal of markdown (replace with markdown text). This is because the asciidoc does not have the display text, and because some links were already markdown.
* Split predicates into is_null and is_not_null
  * We kept the old combined version because the main docs still use that, so now we have both combined and separate versions, and Kibana can select the version they want.
2025-04-01 15:46:24 +02:00
조혜온
89adec154c
[ML] Resolve duplicate key exception in GetDatafeedRunningStateAction (#125477) 2025-04-01 14:16:17 +01:00
Jim Ferenczi
42b7b78a31
[ES|QL] Infer the score mode to use from the Lucene collector (#125930)
This change uses the Lucene collector to infer which score mode to use
when the topN collector is used.
2025-04-01 11:52:27 +01:00
Luca Cavanna
b01438a95f
Re-enable parallel collection for field sorted top hits (#125916)
With #123610 we disabled parallel collection for field and script sorted top hits,
aligning its behaviour with that of top level search. This was mainly to work around
a bug in script sorting that did not support inter-segment concurrency.

The bug with script sort has been fixed with #123757 and concurrency re-enabled for it.

While sort by field is not optimized for search concurrency, top hits benefits from it
and disabling concurrency for sort by field in top hits has caused performance
regressions in our nightly benchmarks.

This commit re-enables concurrency for top hits with sort by field is used. This
introduces back a discrepancy between top level search and top hits, in that concurrency
is applied for top hits despite sort by field normally disables it. The key difference
is the context where sorting is applied, and the fact that concurrency is disabled
only for performance reasons on top level searches and not for functional reasons.
2025-04-01 09:27:43 +02:00
Niels Bauman
fd2492f935
Optimize usage calculation in ILM policies retrieval API (#106953)
Optimize calculating the usage of ILM policies in the `GET _ilm/policy` and `GET _ilm/policy/<policy_id>` endpoints by xtracting a separate class that pre-computes some parts on initialization (i.e. only once per request) and then uses those pre-computed parts when calculating the usage for an individual policy. By precomputing all the usages, the class makes a tradeoff by using a little bit more memory to significantly improve the overall processing time.
2025-03-31 16:11:41 +01:00
Armin Braun
fd2cc97541
Introduce batched query execution and data-node side reduce (#121885)
This change moves the query phase a single roundtrip per node just like can_match or field_caps work already. 
A a result of executing multiple shard queries from a single request we can also partially reduce each node's query results on the data node side before responding to the coordinating node.

As a result this change significantly reduces the impact of network latencies on the end-to-end query performance, reduces the amount of work done (memory and cpu) on the coordinating node and the network traffic by factors of up to the number of shards per data node!

Benchmarking shows up to orders of magnitude improvements in heap and network traffic dimensions in querying across a larger number of shards.
2025-03-29 16:53:18 +01:00
Brandon Morelli
74e4ce23e0
Update limitations.md (#125893) 2025-03-28 22:35:41 +01:00
Craig Taverner
98a2c711f8
Refine ESQL docs handling of applies_to (#125835)
This primarily splits the old preview:true warning from the newer applies_to approach. Since all of our current applies_to examples are actually just behaviour modifications of current functions, we do not use the official docs {applies_to} syntax. However there is code to make use of that in the case where we have an entirely new function which will appear in a new version.

Co-authored-by: Alexander Spies <alexander.spies@elastic.co>
2025-03-28 22:09:15 +01:00
Larisa Motova
b4f534cb25
[ES|QL] Fix sorting when aggregate_metric_double present (#125191)
Previously if an aggregate_metric_double was present amongst fields and
you tried to sort on any (not necessarily even on the agg_metric itself)
field in ES|QL, it would break the results.

This commit doesn't add support for sorting _on_ aggregate_metric_double
(it is unclear what aspect would be sorted), but it fixes the previous
behavior.
2025-03-28 10:16:26 -10:00
John Verwolf
848a6783f0
Fix system data stream restore warning (#125881)
This PR fixes a bug in the RestoreService whereby the validation logic for index templates didn't account for system datastreams.
2025-03-28 20:14:57 +01:00
Bogdan Pintea
1bd80d10a6
ESQL: supplement docs on LIMIT (#125839)
This adds a few extra details around how ESQL processes input docs and
how it limits output results.

Closes #125819
2025-03-29 06:03:27 +11:00
Mayya Sharipova
332abe4198
[DOCS] Clarify that min_score applies to aggs (#125882)
Clarify that min_score param of a search request
also applies to aggregations.
2025-03-28 14:41:14 -04:00
Colleen McGinnis
adccaa66a4
remove reliance on redirects in docs-content (#125863) 2025-03-28 16:41:38 +01:00
Jeremy Dahlgren
89467b80fc
Add FailedShardEntry info to shard-failed task source string (#125520)
Appends the FailedShardEntry request to the 'shard-failed'
task source string in ShardFailedTransportHandler.messageReceived().
This information will now be available in the 'source' string for
shard failed task entries in the Cluster Pending Tasks API response.
This source string change matches what is done in the
ShardStartedTransportHandler.

Closes #102606.
2025-03-28 10:58:50 -04:00
Alexander Spies
ea98166919
ESQL: Improve LOOKUP JOIN page (#125688) (#125798)
Forward port of #125688
2025-03-28 09:07:28 +01:00
Nick Tindall
a25677371a
Revert "Upgrade to latest GCS SDK (#124062)" (#125748)
This reverts commit 073ca0e888.
2025-03-28 17:49:30 +11:00
Fang Xing
a0dce5c005
[ES|QL] Take double parameter markers for identifiers out of snapshot (#125690)
* take double parameter markers out of snapshot
2025-03-27 18:36:54 -04:00
David Kyle
800e312493
[ML] Check if the anomaly results index has been rolled over (#125404) (#125786)
If the v7 index has already been rolled over don't try again
2025-03-28 03:22:20 +11:00
Carlos Delgado
968bddc462
Non existing synonyms sets do not fail shard recovery (#125659) 2025-03-27 18:04:20 +02:00
Dimitris Rempapis
6a9d765408
Minor-Fixes Support 7x segments as archive in 8x / 9x (#125666)
Minor fixes to support 7x segments as archive in 8x / 9x
2025-03-27 16:28:23 +02:00
Jordan Powers
689eaf20f4
Store arrays offsets for unsigned long fields natively with synthetic source (#125709)
This patch builds on the work in #113757, #122999, #124594, and #125529 to
natively store array offsets for unsigned long fields instead of falling
back to ignored source when synthetic_source_keep: arrays.
2025-03-27 00:59:24 +02:00
Benjamin Trent
dd58b0b6fa
Return appropriate error on null dims update instead of npe (#125716)
Calling `Object::toString` was trying to call `null.toString()`, really
it should have been `Objects::toString`, which accepts `null`.

closes: https://github.com/elastic/elasticsearch/issues/125713
2025-03-27 08:47:20 +11:00
Benjamin Trent
009a86a0e3
Allow zero for rescore_vector.oversample to indicate by-passing oversample and rescoring (#125599)
This allows a `rescore_vector: {oversample: 0}` to indicate bypassing
oversampling and rescoring. 

This is useful for:

 - Updating a quantized mapping to turn off automatic rescoring
 - Bypassing oversampling at query time in an ad-hoc manner if its on by default in the mapping

closes: https://github.com/elastic/elasticsearch/issues/125157
2025-03-27 06:56:51 +11:00
Fang Xing
80125a4bac
[ES|QL] Make numberOfChannels consistent with layout map by removing duplicated ChannelSet (#125636)
* make numberOfChannels consistent with layout
2025-03-26 14:51:23 -04:00
Larisa Motova
10719831b5
[ES|QL] Add ToAggregateMetricDouble example (#125518)
Adds AggregateMetricDouble to the ES|QL CSV tests and examples of how to
use the ToAggregateMetricDouble function
2025-03-26 07:56:48 -10:00
Armin Braun
632b9e79bd
Load FieldInfos from store if not yet initialised through a refresh on IndexShard (#125650)
Load field caps from store if they haven't been initialised through a refresh yet.
Keep the plain reads to not mess with performance characteristics too much on the good path but protect against confusing races when loading field infos now (that probably should have been ordered stores in the first place but this was safe due to other locks/volatiles on the refresh path).

Closes #125483
2025-03-26 18:54:21 +01:00
Stanislav Malyshev
07921a78a6
Handle long overflow in dates (#124048)
* Handle long overflow in dates
2025-03-26 18:57:04 +02:00
Bogdan Pintea
b6b8159ed9
SQL: Docs: Drop examples of LIKE/RLIKE vs QUERY/MATCH equivalence (#125673)
This drops the examples of LIKE/RLIKE vs QUERY/MATCH equivalence.
2025-03-27 03:28:38 +11:00
Karen Metts
f0168b4b84
Doc: Update links to logstash plugin docs (#125675)
* Add logstash plugin repo to cross_links
2025-03-26 11:54:37 -04:00
Tommaso Teofili
7a610c30fd
[docs] nested knn only supports score_mode max (#125582)
* [docs] nested knn only supports score_mode max
2025-03-26 11:31:43 +01:00
Nik Everett
f097818fa5
ESQL: Report original_types (#124913)
Adds the `original_types` to the description of ESQL's `unsupported`
fields. This looks like:

```
    {
      "name" : "a",
      "type" : "unsupported",
      "original_types" : [
        "long",
        "text"
      ]
    }
```

for union types. And like:

```
    {
      "name" : "a",
      "type" : "unsupported",
      "original_types" : [
        "date_range"
      ]
    }
```

for truly unsupported types.

This information is useful for the UI. For union types it can suggest
that users append a cast.
2025-03-26 13:21:53 +11:00
Yang Wang
6be0bf50bb
Minor update to interal distributed guide for multi-project (#125556)
This PR adds a minimal amount information about multi-project so that
the existing distributed guide is up-to-date.

Relates: https://github.com/elastic/elasticsearch/pull/123565 Resolves:
ES-10985
2025-03-26 12:48:20 +11:00
Nick Tindall
073ca0e888
Upgrade to latest GCS SDK (#124062)
Upgrades google cloud SDK used by repository-gcp to com.google.cloud:google-cloud-storage-bom:2.50.0

Closes: ES-9287
2025-03-26 11:08:14 +11:00
Ryan Ernst
d4aa1e66de
Rename deprecation index template (#125606)
The dataset name for the deprecation logs index was previously renamed
from `deprecation.elasticsearch` to `elasticsearch.deprecation` in
order to follow the pattern of `product.group`. The deprecation index
template, however, was not updated. This causes indexing errors once
upgraded to 9.0 due to the dataset name having changed on a
constant_keyword field. In order to avoid that mismatch, this commit
renames the deprecation indexing datastream to match the dataset name.
The old template is kept in place, but marked as deprecated, so that any
deprecation logs written during upgrading to 9.x will continue to be
indexed into the old datastream.

closes #125445
2025-03-25 14:16:49 -07:00
Mark Tozzi
2e6e71ac9b
Esql - Fix lucene push down behavior when a range contains nanos and millis (#125595)
Follow up to #125345. If the query contained both a nanos and a millis comparison, we were formatting the dates incorrectly for the lucene push down. This PR adds a test and a fix for that case.
---------

Co-authored-by: elasticsearchmachine <infra-root+elasticsearchmachine@elastic.co>
2025-03-25 21:22:08 +02:00
Mark Vieira
65751062f7
Re-enable VerifyVersionConstantsIT (#125605) 2025-03-25 12:16:53 -07:00
Ying Mao
a6f685cc2a
Adding common rerank options to Perform Inference API (#125239)
* wip

* Adding rerank common options

* Linting

* Linting

* [CI] Auto commit changes from spotless

* Update docs/changelog/125239.yaml

* PR feedback

---------

Co-authored-by: elasticsearchmachine <infra-root+elasticsearchmachine@elastic.co>
2025-03-25 12:32:18 -04:00
Jordan Powers
af1f1452d7
Store arrays offsets for boolean fields natively with synthetic source (#125529)
This patch builds on the work in #113757, #122999, and #124594 to natively
store array offsets for boolean fields instead of falling back to ignored
source when `synthetic_source_keep: arrays`.
2025-03-25 08:59:59 -07:00
elasticsearchmachine
22c79a3de8 Prune changelogs after 8.17.4 release 2025-03-25 15:25:29 +00:00
Simon Cooper
7f1203e472
Add panama implementations of byte-bit and float-bit script operations (#124722) 2025-03-25 13:59:11 +00:00
Iván Cea Fontenla
bd04d1fe1c
ESQL: Calculate concurrent node limit (#124901) 2025-03-25 13:59:36 +01:00
elasticsearchmachine
2b5200fac8 Prune changelogs after 8.16.6 release 2025-03-25 12:26:17 +00:00
Colleen McGinnis
209bf8c3bb
[docs] update release note template language and titles (#125548) 2025-03-25 09:31:22 +01:00
Mark Tozzi
30a56d6e2c
ESQL - date nanos range bug? (#125345)
Fixes #125439

We were incorrectly formatting nanosecond dates when building lucene queries. We had missed this in our testing because none of the CSV tests were running against Lucene. This happened because the date nanos test data includes multivalue fields. Our warning behavior for multivalue fields is inconsistent between queries run in Lucene and queries run in pure ES|QL without pushdown. Our warning tests, however, require that the specified warnings be present in all execution paths. When we first built the date nanos CSV tests, we worked around this by always using an MV function to unpack the multivalue fields. But we forgot that using an MV function prevents the entire query from being pushed down to Lucene, and thus that path wasn't being tested.

In this PR, I've duplicated many of the tests to have a version that doesn't use the MV function, and uses warningRegex instead of warning. The regex version does not fail if the header is absent, so it's safe to use in both modes. Rewriting the tests this way revealed several situations in which this bug can manifest, all of which are fixed in this PR. I cannot be confidant that there aren't more paths that can trigger this bug and aren't covered by these tests, but I haven't found any yet.

I've left some trace level logging that I found helpful while debugging this.

---------

Co-authored-by: elasticsearchmachine <infra-root+elasticsearchmachine@elastic.co>
2025-03-25 00:23:39 +02:00
Colleen McGinnis
162763bd13
[docs] More updates for docs-assembler (#125509)
* update docset.yml, add reference/toc.yml, update reference/elasticsearch/index.md

* Update docs/docset.yml

* add index.md
2025-03-24 14:20:14 -05:00
Niels Bauman
e68587acb6
Process ILM cluster state updates on another thread (#123712)
Instead of processing cluster state updates on the cluster state applier
thread, we fork to a different thread where ILM's runtime of processing
the cluster state update does not affect the speed at which the cluster
can apply new cluster states. That does not mean we don't need to
optimize ILM's cluster state processing, as the overall amount of
processing is generally unaffected by this fork approach (unless we skip
some cluster states), but it does mean we're saving a significant amount
of processing on the critical cluster state applier thread.

Additionally, by running ILM's state processing asynchronously, we allow
ILM to skip some cluster states if the management thread pool is
saturated or ILM's processing is taking too long.
2025-03-24 17:13:57 +01:00
Alexander Spies
f8536aadda
ESQL: Add more details on ENRICH vs. LOOKUP JOIN to docs (#125487)
* Add more details on ENRICH vs. LOOKUP JOIN
* Move example, fix syntax formatting
2025-03-24 16:26:28 +01:00
mushaoqiong
df84065205
Avoid creating known_fields for every check in Alias (#124690)
* avoid creating known_fields for every check

* add changelog

---------

Co-authored-by: 广富 <shaoqiong.msq@alibaba-inc.com>
Co-authored-by: Lee Hinman <dakrone@users.noreply.github.com>
2025-03-24 08:22:34 -06:00