elasticsearch/server
David Turner f663886e25
Split searchable snapshot into multiple repo operations (#116987)
* Split searchable snapshot into multiple repo operations

Each operation on a snapshot repository uses the same `Repository`,
`BlobStore`, etc. instances throughout, in order to avoid the complexity
arising from handling metadata updates that occur while an operation is
running. Today we model the entire lifetime of a searchable snapshot
shard as a single repository operation since there should be no metadata
updates that matter in this context (other than those that are handled
dynamically via other mechanisms) and some metadata updates might be
positively harmful to a searchable snapshot shard.

It turns out that there are some undocumented legacy settings which _do_
matter to searchable snapshots, and which are still in use, so with this
commit we move to a finer-grained model of repository operations within
a searchable snapshot.

Backport of #116918 to 8.16

* Add end-to-end test for reloading S3 credentials

We don't seem to have a test that completely verifies that a S3
repository can reload credentials from an updated keystore. This commit
adds such a test.

Backport of #116762 to 8.16.
2024-11-19 20:59:19 +11:00
..
licenses Remove JNA from server dependencies (#110809) 2024-07-12 19:49:13 -07:00
src Split searchable snapshot into multiple repo operations (#116987) 2024-11-19 20:59:19 +11:00
build.gradle Upgrade to Lucene 9.12.0 (#113333) (#113835) 2024-10-01 13:55:02 +01:00