Skip to content

Conversation

kderusso
Copy link
Member

Ports the documentation changes made in #131871 to 8.19 and 8.18.

elasticsearchmachine and others added 30 commits June 24, 2025 17:58
…9154)

* Support multiple plugin source paths

* Refactor: remove unncessary PathLookup method.

It's only called in one place, and there's no need to override it for testing.
Removing it just makes things simpler.

* Refactor: local var for pathLookup

* Fix bugs in test build info parsing

* Fix representative_class in test

* Move BridgeUtilTests.

Tests in org.elasticsearch.entitlement.bridge are going to be uniquely hard to
test once we patch the bridge into java.base, due to Java's prohibition on
split packages.

Let's just move this guy to another package.

* Upcast (?!) Java23EntitlementChecker to EntitlementChecker

* Empty TestPathLookup

* Create PolicyManager during bootstrap, allowing us to share initialization

* Use empty component path list instead of null

* Downcast to the class of the check method.

In our unit test, we have a mock checker that doesn't extend
EntitlementChecker, so downcasting to that would require us to needlessly
rework the unit test.

* Fix javadoc typos
The comment in `TransportHandshaker` indicates (correctly) that we emit
a warning when talking to a chronologically-newer-yet-numerically-older
version, but the wording of the warning message is inverted and says
that the remote is chronologically-older-yet-numerically-newer. This
commit straightens out the message to match the situation it is
describing.

Relates elastic#123397
Backport of elastic#129904 to `8.19`
* fix file name

* Update docs/changelog/129883.yaml

* Delete docs/changelog/129883.yaml
With the introduction of entitlements (elastic#120243) and exclusive file
access (elastic#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)
elastic#129991)

New MinIO release just dropped, migrating the tests to use it and
dropping the workaround for known issues in older versions.
…29884) (elastic#129988)

(cherry picked from commit 3a1551e)

# Conflicts:
#	muted-tests.yml
#	server/src/main/java/org/elasticsearch/TransportVersions.java
#	x-pack/plugin/inference/qa/rolling-upgrade/src/javaRestTest/java/org/elasticsearch/xpack/application/CohereServiceUpgradeIT.java
Deprecation warning messages are slightly different on the 8.* branch.
Somehow the warning message in this test was not covered by elastic#129628 .

Fixes elastic#129761
…gMergeTaskHoldsUpBudget (elastic#129979) (elastic#130005)

When there are multiple FS with the same available disk space but different total sizes, it's unpredictable (and irrelevant) which one the checker uses.

Fixes elastic#129823
* Forward port release notes for v8.17.8

* Update docs for v8.17.7 release

* Fix typo

---------

Co-authored-by: Charlotte Hoblik <[email protected]>
Co-authored-by: Charlotte Hoblik <[email protected]>
Forward port release notes for v8.18.3
…#130034)

* ES|QL CCS GA release notes highlight (elastic#130032)

* ESQL CCS GA

* Update docs/changelog/130034.yaml

* Update 130034.yaml

* Delete docs/changelog/130032.yaml

* Update docs/changelog/130034.yaml

* Update 130034.yaml
* ESQL: Backport docs for LIKE list

Backports the docs for the LIKE list syntax we added a few days ago. In
`main` the docs are generated from an annotation, just like functions.
But in 8.19 we hadn't done that. So we have to add these by hand.

* Fix spelling
…lastic#130055)

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 elastic#128054
Closes elastic#129811

(cherry picked from commit 2bc6284)
…lastic#130059)

Java class transformers swallow exceptions, so any instrumentation
failures, for example due to a java version mismatch, will silently
proceed with startup, which then will cryptically fail the entitlement
self test. This commit logs exceptions that occur during
instrumentation, as well as plumb through the fact that any occured so
that bootstrap can fail rather than allow startup to proceed.
…erank (elastic#129681) (elastic#129985)

* add default inference endpoint for Elastic Inference Service rerank (elastic#129681)

* add Elastic Inference Service rerank default inference endpoint

* [CI] Auto commit changes from spotless

* fix integ tests

* update mock Elastic Inference Service authorization response

* fix rerank service test

---------

Co-authored-by: elasticsearchmachine <[email protected]>
(cherry picked from commit cef717c)

# Conflicts:
#	x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/InferenceGetServicesIT.java
#	x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceService.java

* Fix InferenceGetServicesIT rerank integration test

* Fix InferenceGetServicesIT rerank integration test

* spotlessApply

* Fix integration test

---------

Co-authored-by: Brendan Jugan <[email protected]>
…lastic#129921)

These logging directives relate to test failures that have long-since
been closed so can be removed.

Relates elastic#101608
Relates elastic#88841
limotova and others added 19 commits July 26, 2025 10:05
Accidentally added this in when backporting elastic#131955 which will break
some of the tests, so I am removing it.
…ic#131923)

Apparently, when calling to_lower or to_upper with no parameters, an NPE was thrown, instead of a proper error. AFAICT, this is an old left-over from when these functions were imported from a much older version.

Resolves elastic#131913.
…le-counting allocations. (elastic#131990) (elastic#131996)

This reverts commit 971cfb9.

The refactoring in 971cfb9 introduced a bug that could potentially lead to double-counting of the number of allocations in the trained model memory estimation.
…#131852)

Information about the system, and in particular the running JVM, is
logged relatively late in startup. When problems occur in low level
initialization, it is often useful to have this information. This commit
moves logging of system information to right after logging has been
initialized. Note that it no longer utilizes the JvmInfo class as most
was already easily available and the static init of JvmInfo does a lot.

(cherry picked from commit 789eb2f)

# Conflicts:
#	server/src/main/java/org/elasticsearch/bootstrap/Elasticsearch.java
#	server/src/main/java/org/elasticsearch/node/NodeConstruction.java

Co-authored-by: Ryan Ernst <[email protected]>
…c#131743) (elastic#131906)

(cherry picked from commit 71130a6)

# Conflicts:
#	build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/RestrictedBuildApiService.java
#	x-pack/plugin/enrich/build.gradle
#	x-pack/plugin/enrich/qa/rest-with-advanced-security/build.gradle
#	x-pack/plugin/enrich/qa/rest-with-security/build.gradle
#	x-pack/plugin/enrich/qa/rest/build.gradle
…stic#130279) (elastic#131810)

When a search targets a single shard, the fetch phase is executed in the same roundtrip as the query phase. In that case the search context is reused across phases, and the cancellation runnables registered to the searcher are reused. This is incorrect as the search timeout check should not be applied to the fetch phase, or it will make fetching partial results unfeasible. For instance if the query phase times out, the fetch phase will time out as well and there won't be partial results. If the query phase does not time out, but the fetch phase does, the latter will return a different set of results compared to those expected which will lead to unexpected situations like an array index out of bound exception.

This commit clears the cancellation runnables ahead of running the fetch phase in the same rountrip as query and performs their registration once again, without the timeout checks which are never applied to the fetch phase.

Closes elastic#130071

Co-authored-by: jessepeixoto <[email protected]>
Co-authored-by: Luca Cavanna <[email protected]>
They should work correctly on 8.15+.
elastic#131640 disabled them on
8.14-8.17.

Backporting this to 8.18 (+ unmuting!) will fix: -
elastic#131977 -
elastic#131976 -
elastic#131970 -
elastic#131969 -
elastic#131968 -
elastic#131959 -
elastic#131958 -
elastic#131957 -
elastic#131956 -
elastic#131013
…ng (elastic#131767) (elastic#131779)

* Add TEST MergeWithLowDiskSpaceIT testRelocationWhileForceMerging (elastic#131767)

This adds a test that covers relocation for shards that are running a
force merge.

Relates elastic#93503

* Fix MergeWithLowDiskSpaceIT testRelocationWhileForceMerging (elastic#131806)

The index settings are randomized in the test, but this test suite doesn't work when indices have a custom data path.

* Fix compilation
Time-series is not usable in 8.19; however, its existence complicates 
backporting. This change removes the time-series code in 8.19.
…) (elastic#132030)

When encoding an ignored source entry, we write the string length of the 
field name, not the encoded byte count; however, the decode logic treats
this encoded value as the byte length. This patch updates the decode logic
to instead properly treat the value as the string length.
…astic#131889)

This change updates `TransportVersion` to support our new model while still allowing the old model to
work as well giving us time to migrate.
…32036)

This adds support for splitting `Page`s of large values when loading
from single segment, non-descending hits. This is hottest code path as
it's how we load data for aggregation. So! We had to make very very very
sure this doesn't slow down the fast path of loading doc values.

Caveat - this only defends against loading large values via the
row-by-row load mechanism that we use for stored fields and _source.
That covers the most common kinds of large values - mostly `text` and
geo fields. If we need to split further on docs values, we'll have to
invent something for them specifically. For now, just row-by-row.

This works by flipping the order in which we load row-by-row and
column-at-a-time values. Previously we loaded all column-at-a-time
values first because that was simpler. Then we loaded all of the
row-by-row values. Now we save the column-at-a-time values and instead
load row-by-row until the `Page`'s estimated size is larger than a "jumbo"
size which defaults to a megabyte.

Once we load enough rows that we estimate the page is "jumbo", we then
stop loading rows. The Page will look like this:

```
| txt1 | int | txt2 | long | double |
|------|-----|------|------|--------|
| XXXX |     | XXXX |      |        |
| XXXX |     | XXXX |      |        |
| XXXX |     | XXXX |      |        |
| XXXX |     | XXXX |      |        |
| XXXX |     | XXXX |      |        |
| XXXX |     | XXXX |      |        | <-- after loading this row
|      |     |      |      |        |     we crossed to "jumbo" size
|      |     |      |      |        |
|      |     |      |      |        |
|      |     |      |      |        | <-- these rows are entirely empty
|      |     |      |      |        |
|      |     |      |      |        |
```

Then we chop the page to the last row:
```
| txt1 | int | txt2 | long | double |
|------|-----|------|------|--------|
| XXXX |     | XXXX |      |        |
| XXXX |     | XXXX |      |        |
| XXXX |     | XXXX |      |        |
| XXXX |     | XXXX |      |        |
| XXXX |     | XXXX |      |        |
| XXXX |     | XXXX |      |        |
```

Then fill in the column-at-a-time columns:
```
| txt1 | int | txt2 | long | double |
|------|-----|------|------|--------|
| XXXX |   1 | XXXX |   11 |    1.0 |
| XXXX |   2 | XXXX |   22 |   -2.0 |
| XXXX |   3 | XXXX |   33 |    1e9 |
| XXXX |   4 | XXXX |   44 |    913 |
| XXXX |   5 | XXXX |   55 | 0.1234 |
| XXXX |   6 | XXXX |   66 | 3.1415 |
```

And then we return *that* `Page`. On the next `Driver` iteration we
start from where we left off.
…32059)

This fixes incomplete entitlements added in elastic#131680 and is necessary due to the lack of entitlement delegation.
…stic#127709)

* Fix some inefficiencies in FieldsVisitor (elastic#127688)

Just a couple obvious finds. No need to start from `null` here,
just makes locality worse to so and adds conditionals. Also, we can save some field lookups
and a needless hot allocation of `BytesRef` that isn't guaranteed to be escape analyzed away.

* update code after backporting from 9.0

---------

Co-authored-by: Dimitris Rempapis <[email protected]>
Co-authored-by: Stanislav Malyshev <[email protected]>
@kderusso kderusso added >docs General docs changes auto-backport Automatically create backport pull requests when merged labels Jul 29, 2025
@kderusso kderusso requested a review from a team as a code owner July 29, 2025 12:35
@kderusso kderusso added :SearchOrg/Relevance Label for the Search (solution/org) Relevance team v8.18.4 labels Jul 29, 2025
@kderusso kderusso requested a review from a team as a code owner July 29, 2025 12:35
@kderusso kderusso closed this Jul 29, 2025
Copy link
Contributor

🔍 Preview links for changed docs

More links …

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

Labels

auto-backport Automatically create backport pull requests when merged >docs General docs changes :SearchOrg/Relevance Label for the Search (solution/org) Relevance team v8.18.4 v8.19.1 v9.2.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.