Commit graph

20 commits

Author SHA1 Message Date
Rene Groeschke
7b6bdfa323
[Gradle] Make rolling upgrade tests configuration cache compatible (#119577)
With this, all rolling upgrade tests that involve a
`nextNodeToNextVersion` update are gradle configuration cache
compatible.

Simplify API around test cluster registry and cc compatible usage of
test cluster in TestClusterAware tasks.
2025-01-16 23:23:04 +11:00
Rene Groeschke
13c8aaeffa
[Gradle] Remove static use of BuildParams (#115122)
Static fields dont do well in Gradle with configuration cache enabled.

- Use buildParams extension in build scripts
- Keep BuildParams.ci for now for easy serverless migration
-  Tweak testing doc
2024-11-15 17:58:57 +01:00
Mark Vieira
a59c182f9f
Add AGPLv3 as a supported license 2024-09-13 15:29:46 -07:00
Mark Vieira
4ce661cc48
Bump Elasticsearch version to 9.0.0 (#112570) 2024-09-11 09:40:11 -07:00
Armin Braun
bf7be8e23a
Save 400 LoC in tests by using indexSettings shortcut (#111573)
It's in the title, randomly saw a bunch of spots where we're
not using the shortcut, figured I'd clean this up quickly to save ~400 lines.
2024-08-05 10:21:13 +02:00
Moritz Mack
1f5e04b721
Migrate YAML REST tests to synthetic cluster feature check (#107068)
To simplify the migration away from version based skip checks in YAML specs, 
this PR adds a synthetic version feature `gte_vX.Y.Z` for any version at or before 8.14.0.

New test specs for 8.14 or later are expected to use respective new cluster features,
or a test-only feature supplied via ESRestTestCase#createAdditionalFeatureSpecifications
if sufficient.
2024-04-11 18:22:38 +02:00
Benjamin Trent
9e502aa4a0
Expanding and refactoring the vector rolling upgrade tests (#107020)
This commit removes the legacy yaml rolling upgrade tests for vectors to the new rolling upgrade package. 

Also, it adds rolling upgrade tests for `int8_hnsw`.
2024-04-10 10:49:10 -04:00
Benjamin Trent
89bf4b33e8
Make int8_hnsw our default index for new dense-vector fields (#106836)
For float32, there is no compelling reason to use all the memory
required by default for HNSW. Using `int8_hnsw` provides a much saner
default when it comes to cost vs relevancy. 

So, on all new indices that use `dense_vector` and want to index them
for fast search, we will default to `int8_hnsw`. 

Users can still customize their parameters, or prefer `hnsw` over
float32 if they so desire.
2024-04-01 08:23:32 -04:00
Benjamin Trent
caec612fea
Make cosine similarity faster by storing magnitude and normalizing vectors (#99445)
`cosine` is our default similarity and should provide a good experience
on speed.

`dot_product` is faster than `cosine` as it doesn't require calculating
vector magnitudes in the similarity comparison loop. Instead, it can
assume vectors have a length of `1` and use an optimized `dot_product`
calculation.

However, `cosine` as it exists today accepts vectors of any magnitude
and cannot take advantage of this.

This commit addresses this by:

 - Normalizing all vectors passed when indexing via `cosine`
 - Storing the calculated magnitude in an additional field (only if its `!= 1`).
 - Using the `dot_product` Lucene calculation
 - Normalizing query vectors when used against these new `cosine` fields
 - De-normalizing vectors when accessed via scripts
 - Allowing scripts to access these stored magnitudes.
2023-12-01 13:45:43 -05:00
Lorenzo Dematté
4c1cd18073
REST tests: converting more version-based checks to test-only features (#102483) 2023-11-23 12:29:19 +01:00
Simon Cooper
dd82613a81
Remove various obsolete version references in tests (#102481)
Add some more UpdateForV9 annotations
2023-11-23 09:55:15 +00:00
Lorenzo Dematté
db53786601
Moved Version checks to IndexVersion to reflect production code (#102217)
Checks for soft delete support (and deprecation of non-soft delete), peer recovery retention leases and replication of closed indices are using IndexVersion in production code. Moving these checks from Version to IndexVersion in rest tests too.
2023-11-15 13:45:22 +01:00
William Brafford
d13368404d
Don't update system index mappings in mixed clusters (#101778)
* Don't update system index mappings in mixed clusters

#99668 seems to have introduced a bug where
SystemIndexMappingUpdateService updates system index mappings
even in mixed clusters. This PR restores the old version-based
check in order to be sure that there's no update until the
cluster is fully upgraded.

The timing of the mapping update seems to be causing worse
problems, corrupting persisted cluster state.

Fixes #99778, #101331

* Remove broken assertion

The compatibility versions objects are not showing up
correctly, so we shouldn't assert on them.
2023-11-03 15:09:30 -04:00
Ievgen Degtiarenko
da8ab4f1a2
Remove unnecessary test logging (#101710) 2023-11-03 10:04:57 +01:00
Ryan Ernst
8a1db8c6c3
Move index version constants to IndexVersions (#101094)
Similar to the TransportVersions holder class, IndexVersions is the new
place to contain all constants for IndexVersion. This commit moves all
existing constants to the new class. It is purely mechanical.
2023-10-19 20:44:51 -04:00
Mark Vieira
9f08c33cb0
Mute RecoveryIT 2023-10-03 14:07:37 -07:00
Lorenzo Dematté
a6b651a138
Replace Version.CURRENT toString usages with Build.current() equivalents (#99870)
* Replaced some occurrences of Version.CURRENT toString
* Added unit tests for the 2 different warn header patterns in HeaderWarnings
* Comment to clarify non-semantic versions + revert change on Version.major message
2023-09-27 09:42:35 +02:00
Simon Cooper
5f43cd8f46
Retry rolling upgrade junit tests (#99760)
Re-applies the changes from #99572 to move some bwc tests to a junit-based build infrastructure. Some tests that did not handle the move well have been kept in rolling-upgrade-legacy using the old gradle-based infrastructure
2023-09-22 15:52:59 +01:00
Simon Cooper
06f09d861d
Revert "Migrate rolling upgrade tests to new junit format" (#99750)
Reverts elastic/elasticsearch#99572 and #99733

The new tests are unstable, and don't work on CI. This re-opens
https://github.com/elastic/elasticsearch/issues/97200
2023-09-21 09:42:04 -04:00
Simon Cooper
aae2535235
Migrate rolling upgrade tests to new junit format (#99572)
Two test suites did not react well to the junit-based bwc infrastructure, so those have been separated into a legacy module using the old gradle-based system until they can be looked at properly.
This unblocks the 8.11 release.
2023-09-20 16:55:34 +01:00