Skip to content

Upgrade to Lucene 10 #114741

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 580 commits into from
Oct 21, 2024
Merged

Upgrade to Lucene 10 #114741

merged 580 commits into from
Oct 21, 2024

Conversation

javanna
Copy link
Member

@javanna javanna commented Oct 14, 2024

No description provided.

elasticsearchmachine and others added 30 commits September 9, 2024 06:11
This temporarily gets us past missing codec that we attempt to load at node
startup, even if we don't use it.
 Conflicts:
	build-tools-internal/version.properties
	modules/analysis-common/src/test/java/org/elasticsearch/analysis/common/EdgeNGramTokenizerTests.java
	modules/analysis-common/src/test/java/org/elasticsearch/analysis/common/SynonymsAnalysisTests.java
	modules/reindex/src/internalClusterTest/java/org/elasticsearch/migration/MultiFeatureMigrationIT.java
	plugins/analysis-phonetic/src/test/java/org/elasticsearch/plugin/analysis/phonetic/AnalysisPhoneticFactoryTests.java
	qa/rolling-upgrade-legacy/src/test/java/org/elasticsearch/upgrades/RecoveryIT.java
	server/src/internalClusterTest/java/org/elasticsearch/repositories/IndexSnapshotsServiceIT.java
	server/src/test/java/org/elasticsearch/action/admin/cluster/stats/VersionStatsTests.java
	server/src/test/java/org/elasticsearch/cluster/metadata/MetadataCreateIndexServiceTests.java
	server/src/test/java/org/elasticsearch/cluster/metadata/MetadataTests.java
	server/src/test/java/org/elasticsearch/index/IndexVersionTests.java
	server/src/test/java/org/elasticsearch/index/engine/InternalEngineTests.java
	server/src/test/java/org/elasticsearch/index/mapper/DateFieldMapperTests.java
	server/src/test/java/org/elasticsearch/index/mapper/DynamicTemplatesTests.java
	server/src/test/java/org/elasticsearch/index/mapper/FieldNamesFieldMapperTests.java
	server/src/test/java/org/elasticsearch/index/mapper/ParametrizedMapperTests.java
	server/src/test/java/org/elasticsearch/index/mapper/vectors/BinaryDenseVectorScriptDocValuesTests.java
	server/src/test/java/org/elasticsearch/index/similarity/SimilarityServiceTests.java
	server/src/test/java/org/elasticsearch/indices/analysis/AnalysisModuleTests.java
	server/src/test/java/org/elasticsearch/script/VectorScoreScriptUtilsTests.java
	server/src/test/java/org/elasticsearch/script/field/vectors/DenseVectorTests.java
	test/framework/src/main/java/org/elasticsearch/index/mapper/MetadataMapperTestCase.java
	test/framework/src/main/java/org/elasticsearch/snapshots/AbstractSnapshotIntegTestCase.java
	x-pack/plugin/deprecation/src/test/java/org/elasticsearch/xpack/deprecation/IndexDeprecationChecksTests.java
	x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/index/mapper/ShapeFieldMapperTests.java
	x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/index/query/LegacyGeoShapeWithDocValuesQueryTests.java
Copy link
Member

@cbuescher cbuescher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've done a final pass (non-test code only), left a few notes where I am unsure but nothing really sticks out. LGTM

Copy link
Contributor

@uschindler uschindler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine. 🍺🚀

@javanna javanna added test-windows Trigger CI checks on Windows test-full-bwc Trigger full BWC version matrix tests test-arm Pull Requests that should be tested against arm agents labels Oct 17, 2024
@javanna javanna removed the request for review from benwtrent October 17, 2024 07:57
@javanna
Copy link
Member Author

javanna commented Oct 20, 2024

run elasticsearch-ci/part-3-windows

@javanna
Copy link
Member Author

javanna commented Oct 20, 2024

run elasticsearch-ci/part-1-windows

@javanna
Copy link
Member Author

javanna commented Oct 20, 2024

run elasticsearch-ci/part-2-windows

@javanna
Copy link
Member Author

javanna commented Oct 20, 2024

run elasticsearch-ci/part-3-windows

@javanna
Copy link
Member Author

javanna commented Oct 20, 2024

run elasticsearch-ci/part-4-windows

@javanna
Copy link
Member Author

javanna commented Oct 21, 2024

The checkstyle errors from windows builds are present in main too, and are being fixed by #115185 .

@javanna
Copy link
Member Author

javanna commented Oct 21, 2024

Windows tests failed with the following which is unrelated to the changes made in this PR:

REPRODUCE WITH: gradlew ":server:test" --tests "org.elasticsearch.reservedstate.service.FileSettingsServiceTests.testProcessFileChanges" -Dtests.seed=98579A98909F778 -Dtests.locale=ro-MD -Dtests.timezone=America/Kentucky/Louisville -Druntime.java=22
FileSettingsServiceTests > testProcessFileChanges FAILED
    java.nio.file.AccessDeniedException: C:\bk\server\build\testrun\test\temp\org.elasticsearch.reservedstate.service.FileSettingsServiceTests_98579A98909F778-001\tempFile-001.tmp -> C:\bk\server\build\testrun\test\temp\org.elasticsearch.reservedstate.service.FileSettingsServiceTests_98579A98909F778-001\tempDir-024\config\operator\settings.json
        at __randomizedtesting.SeedInfo.seed([98579A98909F778:210DAE66E062FF98]:0)
        at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89)
        at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
        at java.base/sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:328)
        at java.base/sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:291)
        at org.apache.lucene.tests.mockfile.FilterFileSystemProvider.move(FilterFileSystemProvider.java:146)
        at org.apache.lucene.tests.mockfile.FilterFileSystemProvider.move(FilterFileSystemProvider.java:146)
        at org.apache.lucene.tests.mockfile.FilterFileSystemProvider.move(FilterFileSystemProvider.java:146)
        at org.apache.lucene.tests.mockfile.FilterFileSystemProvider.move(FilterFileSystemProvider.java:146)
        at org.apache.lucene.tests.mockfile.FilterFileSystemProvider.move(FilterFileSystemProvider.java:146)
        at java.base/java.nio.file.Files.move(Files.java:1430)
        at org.elasticsearch.reservedstate.service.FileSettingsServiceTests.writeTestFile(FileSettingsServiceTests.java:358)
        at org.elasticsearch.reservedstate.service.FileSettingsServiceTests.testProcessFileChanges(FileSettingsServiceTests.java:253)

The checkstyle errors on kql are also present in main, like I mentioned above.

@javanna javanna merged commit 8efd08b into elastic:main Oct 21, 2024
21 of 26 checks passed
@javanna javanna deleted the lucene_snapshot_10 branch October 21, 2024 11:38
georgewallace pushed a commit to georgewallace/elasticsearch that referenced this pull request Oct 25, 2024
The most relevant ES changes that upgrading to Lucene 10 requires are:

- use the appropriate IOContext
- Scorer / ScorerSupplier breaking changes
- Regex automaton are no longer determinized by default
- minimize moved to test classes
- introduce Elasticsearch900Codec
- adjust slicing code according to the added support for intra-segment concurrency
- disable intra-segment concurrency in tests
- adjust accessor methods for many Lucene classes that became a record
- adapt to breaking changes in the analysis area

Co-authored-by: Christoph Büscher <[email protected]>
Co-authored-by: Mayya Sharipova <[email protected]>
Co-authored-by: ChrisHegarty <[email protected]>
Co-authored-by: Brian Seeders <[email protected]>
Co-authored-by: Armin Braun <[email protected]>
Co-authored-by: Panagiotis Bailis <[email protected]>
Co-authored-by: Benjamin Trent <[email protected]>
jfreden pushed a commit to jfreden/elasticsearch that referenced this pull request Nov 4, 2024
The most relevant ES changes that upgrading to Lucene 10 requires are:

- use the appropriate IOContext
- Scorer / ScorerSupplier breaking changes
- Regex automaton are no longer determinized by default
- minimize moved to test classes
- introduce Elasticsearch900Codec
- adjust slicing code according to the added support for intra-segment concurrency
- disable intra-segment concurrency in tests
- adjust accessor methods for many Lucene classes that became a record
- adapt to breaking changes in the analysis area

Co-authored-by: Christoph Büscher <[email protected]>
Co-authored-by: Mayya Sharipova <[email protected]>
Co-authored-by: ChrisHegarty <[email protected]>
Co-authored-by: Brian Seeders <[email protected]>
Co-authored-by: Armin Braun <[email protected]>
Co-authored-by: Panagiotis Bailis <[email protected]>
Co-authored-by: Benjamin Trent <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Search Foundations/Search Catch all for Search Foundations serverless-linked Added by automation, don't add manually Team:Search Foundations Meta label for the Search Foundations team in Elasticsearch test-arm Pull Requests that should be tested against arm agents test-full-bwc Trigger full BWC version matrix tests test-windows Trigger CI checks on Windows >upgrade v9.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.