-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Add GPUPlugin for building vector indices on GPU #135545
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
Changes from 120 commits
Commits
Show all changes
133 commits
Select commit
Hold shift + click to select a range
3af34ab
Iter1
mayya-sharipova d0da0d4
move GPU plugin to x-pack
ChrisHegarty 34b0ce8
move GPUIndexType to it's own top-level class, and spotless
ChrisHegarty d3db656
Add yml rest test that can be called:
mayya-sharipova 82f1ca5
Reload KnnVectorsFormat to allow plugins to declare a custom knn vect…
ChrisHegarty 5207bed
Add dependency on cuVS
ChrisHegarty d0ee7e1
Add a supported check for cuVS - can be used in more tests eventually
ChrisHegarty 9b6fde2
revert accidental commit
ChrisHegarty 2ac22b3
Small edits
mayya-sharipova 8cee75e
Build cagra index (iter1)
mayya-sharipova 3f05ba0
Build cagra index (iter2)
mayya-sharipova 2ac9d8b
Write Cagra index to Lucene HNSW format
mayya-sharipova 4826da6
Enable GPU indexing test in KnnIndexTester
mayya-sharipova 7c85493
Fix merging in GPU index writer
mayya-sharipova ec3330e
Attempt to use Java 22 DatasetImpl with MemorySegment
mayya-sharipova 723bb5a
Revert "Attempt to use Java 22 DatasetImpl with MemorySegment"
mayya-sharipova 5cb3829
Merge remote-tracking branch 'upstream/main' into es-gpu
mayya-sharipova 0ee27d9
Fix spotless
mayya-sharipova d27b62f
Use off-heap Dataset when merging vector data
ChrisHegarty e90fcd7
Plugins can provide VectorsFormatProvider
mayya-sharipova 9f2c96f
Fix bugs
mayya-sharipova 4390d55
Introduce an index level setting: index.vectors.indexing.use_gpu
mayya-sharipova 949f8af
Merge branch 'main' into es-gpu
ChrisHegarty 8f22e28
Fix initialization of DatasetUtilTests to avoid instance check if uns…
ChrisHegarty 5386fb8
Add unknown value test to IndexSettingsTests for GPU
ChrisHegarty 7a2cd83
Add GPU Integration test
ChrisHegarty 1f742f4
Add more tests
mayya-sharipova 9ad0367
Adjust Cagra Index degree to fit the default performance of
mayya-sharipova 446fba7
Add CuVSResourceManager for controlling parallelism and pooling of cu…
ChrisHegarty e6e9c17
Use new cuvs version 25.10; direct access to cagra graph via CuVSMatr…
ldematte c38c8aa
WIP cuvs-snapshot updating
brianseeders 66e24c0
Update cuvs snapshot version to 25.10.0
brianseeders eb9dfeb
Always update cuvs-java
brianseeders dddadce
Implement working with sorted index
mayya-sharipova 9c1db2d
Expose m and efConstruction params in GPU index building
mayya-sharipova f452dfc
Add yml test
mayya-sharipova 47d58d0
Update cuvs snapshot version to 25.10.0
brianseeders 6c7f49f
Working script to configure cuvs snapshot and update current one
brianseeders 0145af0
Update cuvs snapshot version to 25.10.0
brianseeders e778480
Update cuvs snapshot version to 25.10.0
brianseeders 9c8417c
Update cuvs snapshot version to 25.10.0
brianseeders 7e0cc3d
Rename GpuVectorsFormat to EsGpuHnswVectorsFormat
mayya-sharipova b03d2be
Revert some of the changes made while testing bug fixes, add nvidia-s…
brianseeders 0d51a86
And int8_hswn option
mayya-sharipova b20033f
Add new gpu/cuvs pipelines
brianseeders cb076d7
Set -u later
brianseeders 7abc031
Set empty LD_LIBRARY_PATH
brianseeders c04f605
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] 877ff01
Move env to proper location
brianseeders 026e34b
Merge branch 'cuvs-snapshot' of github.com:elastic/elasticsearch into…
brianseeders c281bf5
Update zones for g2 instances
brianseeders 4ce32d6
Fix env var
brianseeders f8f7c39
test-gpu should be a skip-label
brianseeders 91f676f
Adjust skip labels
brianseeders 9327371
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] 1a727fa
Add int8 to KnnIndexTester
mayya-sharipova 5d1ef89
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] 913430a
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] f9dd63e
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] cff3e94
Send quantized data to GPU for index building during merge
mayya-sharipova ebb36e0
Fix for int8_hnsw when the number of vectors < MIN_NUM_VECTORS_FOR_GP…
mayya-sharipova 83aa729
PoolingCuVSResourceManager with memory availability (#133242)
ldematte 3cd4405
Remove assertion to fix tests (#134035)
ldematte 2f07fb7
Merge branch 'cuvs-snapshot' into es-gpu
brianseeders f8c9a9f
Merge remote-tracking branch 'upstream/main' into es-gpu
mayya-sharipova ad34a1c
Fix spotless
mayya-sharipova eb1c659
Merge remote-tracking branch 'upstream/es-gpu' into es-gpu
mayya-sharipova d8e6826
Modify GPUDenseVectorFieldMapperTests to extend DenseVectorFieldMappe…
mayya-sharipova 9b56b5e
Add tests for int8_hnsw
mayya-sharipova 42eff30
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] 34670e3
Fix: `ESGpuHnswVectorsWriter#mergeOneField` now supports non memory-m…
ldematte 2af02f1
Fix TransportResumeFollowActionTests.testDynamicIndexSettingsAreClass…
mayya-sharipova d3b8eeb
Fix failed tests in ":x-pack:plugin:esql:qa:server:multi-node:javaRes…
mayya-sharipova 7917cc1
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] 6da63ec
(HACK) Add reflection utils to server and export them to GPU
ldematte 5849a6f
Refactor to isolate current flush logic to flushFieldsWithoutMemoryMa…
ldematte c34be34
Reproduce flatVectorWriter.flush() via reflection to "instrument" it
ldematte 1061065
Using a tmp file for enabling mmap MemorySegment during flush (#134438)
ldematte 83d4633
Merge remote-tracking branch 'upstream/es-gpu' into es-gpu
ldematte e9ddaa0
Enable mmapped file code path
ldematte c051873
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] 367080e
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] 2839d5b
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] 13fbf99
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] b6e69bc
Merge remote-tracking branch 'upstream/main' into es-gpu
ldematte 6a3743a
Use elastic-cuvs-java as the cuvs-java artifact name, until we switch…
brianseeders d954f35
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] 3ce801a
Merge remote-tracking branch 'upstream/es-gpu' into es-gpu
ldematte ac3b4e5
Fix: signature changes + forbiddenApis + license file names
ldematte fcd49ce
Revert "Enable mmapped file code path"
ldematte 9e9deca
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] 8e102b1
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] 48ebb1f
Expand gpu support checks (#135000)
ldematte 035ab73
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] b427ff1
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] 9eb25b3
Use direct heap to GPU copy for raw vector data (#135210)
ldematte 67b0fbc
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] a6653ce
Merge remote-tracking branch 'upstream/main' into es-gpu
mayya-sharipova 6890e3a
Remove 24 launcher
mayya-sharipova 2b0007a
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] 45708de
Rename GPU format to ES92
mayya-sharipova 3e46a34
Update docs/changelog/135545.yaml
mayya-sharipova 210163b
Merge branch 'main' into es-gpu
mayya-sharipova 2cd1224
Add cuvs-java artifact to a custom GCS bucket
brianseeders b161ed4
Merge branch 'es-gpu' of github.com:elastic/elasticsearch into es-gpu
brianseeders c602e7b
Merge branch 'main' into es-gpu
mayya-sharipova 9d926f2
Fix checksum
brianseeders b53d18d
Merge branch 'es-gpu' of github.com:elastic/elasticsearch into es-gpu
brianseeders 2f07c5a
Re-enable regular CI steps in PRs
brianseeders 9f6885a
Merge branch 'main' into es-gpu
mayya-sharipova b9bf617
Add GCS bucket repo where needed
brianseeders 5301950
Small cleanups
mayya-sharipova ccda070
Merge branch 'main' into es-gpu
mayya-sharipova 304bc68
Introduce feature flag "vectors_indexing_use_gpu" in IndexSettings
mayya-sharipova 3b9364c
Merge branch 'main' into es-gpu
mayya-sharipova c410d92
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] d1481d7
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] ae5cc15
GPUPlugin to implement InternalVectorFormatProviderPlugin
mayya-sharipova 70ae1cd
Change license to Lucene
mayya-sharipova 55ee270
Switch to group varint when writing vectorIndex
mayya-sharipova b88f2b6
Merge branch 'main' into es-gpu
mayya-sharipova 3cb4b71
Revert "Introduce feature flag "vectors_indexing_use_gpu" in IndexSet…
mayya-sharipova 2d51f5a
Move "index.vectors.indexing.use_gpu" setting under GPUPlugin
mayya-sharipova 57d37e4
Merge branch 'main' into es-gpu
mayya-sharipova 543fafe
Add test when FF is disabled
mayya-sharipova dba71de
Merge branch 'main' into es-gpu
mayya-sharipova 6d843e1
Rename formats to Lucene99HnswVectorsFormat
mayya-sharipova b8c190e
Merge branch 'main' into es-gpu
mayya-sharipova f221ff5
Merge branch 'main' into es-gpu
mayya-sharipova e66aca5
Update cuvs snapshot version to 25.10.0
elastic-vault-github-plugin-prod[bot] f324889
Merge branch 'main' into es-gpu
ChrisHegarty f926084
Rename feature flag to gpu_vectors_indexing
mayya-sharipova d48d11d
Merge branch 'main' into es-gpu
mayya-sharipova File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
steps: | ||
- label: "{{matrix.GRADLE_TASK}}" | ||
command: .buildkite/scripts/cuvs-snapshot/run-gradle.sh -Dbwc.checkout.align=true -Dorg.elasticsearch.build.cache.push=true -Dignore.tests.seed -Dscan.capture-file-fingerprints {{matrix.GRADLE_TASK}} | ||
timeout_in_minutes: 300 | ||
agents: | ||
provider: gcp | ||
image: family/elasticsearch-ubuntu-2404-nvidia | ||
machineType: g2-standard-32 | ||
buildDirectory: /dev/shm/bk | ||
zones: us-central1-b,us-central1-c | ||
env: | ||
GRADLE_TASK: "{{matrix.GRADLE_TASK}}" | ||
matrix: | ||
setup: | ||
GRADLE_TASK: | ||
- checkPart1 | ||
- checkPart2 | ||
- checkPart3 | ||
- checkPart4 | ||
- checkPart5 | ||
- checkPart6 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
steps: | ||
- label: "Smoke test and update new cuVS snapshot" | ||
command: .buildkite/scripts/cuvs-snapshot/update-current-snapshot-version.sh | ||
agents: | ||
provider: gcp | ||
image: family/elasticsearch-ubuntu-2404-nvidia | ||
machineType: g2-standard-16 | ||
zones: us-central1-b,us-central1-c | ||
diskSizeGb: 150 | ||
- wait: ~ | ||
- trigger: "elasticsearch-cuvs-run-tests" | ||
build: | ||
branch: "${BUILDKITE_BRANCH}" | ||
async: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
config: | ||
skip-labels: ">test-mute" | ||
skip-labels: | ||
- ">test-mute" | ||
excluded-regions: | ||
- ^docs/.* | ||
- ^x-pack/docs/.* | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -78,4 +78,3 @@ steps: | |
image: family/elasticsearch-ubuntu-2004 | ||
machineType: n1-standard-32 | ||
buildDirectory: /dev/shm/bk | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
config: | ||
allow-labels: test-gpu | ||
skip-labels: | ||
- ">test-mute" | ||
steps: | ||
- group: gpu-tests | ||
steps: | ||
- label: "{{matrix.GRADLE_TASK}} / gpu-tests" | ||
key: "packaging-tests-unix" | ||
command: .buildkite/scripts/cuvs-snapshot/run-gradle.sh -Dbwc.checkout.align=true -Dorg.elasticsearch.build.cache.push=true -Dignore.tests.seed -Dscan.capture-file-fingerprints {{matrix.GRADLE_TASK}} | ||
timeout_in_minutes: 300 | ||
agents: | ||
provider: gcp | ||
image: family/elasticsearch-ubuntu-2404-nvidia | ||
machineType: g2-standard-32 | ||
buildDirectory: /dev/shm/bk | ||
zones: us-central1-b,us-central1-c | ||
env: | ||
GRADLE_TASK: "{{matrix.GRADLE_TASK}}" | ||
matrix: | ||
setup: | ||
GRADLE_TASK: | ||
- checkPart1 | ||
- checkPart2 | ||
- checkPart3 | ||
- checkPart4 | ||
- checkPart5 | ||
- checkPart6 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
#!/bin/bash | ||
|
||
set -euo pipefail | ||
|
||
if [[ -f /etc/profile.d/elastic-nvidia.sh ]]; then | ||
export JAVA_HOME="$HOME/.java/openjdk24" | ||
export PATH="$JAVA_HOME/bin:$PATH" | ||
|
||
# Setup LD_LIBRARY_PATH, PATH | ||
|
||
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:-}" | ||
source /etc/profile.d/elastic-nvidia.sh | ||
fi | ||
|
||
# Not running this before the tests results in an error when running the tests | ||
# No idea why... | ||
nvidia-smi | ||
|
||
CURRENT_SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | ||
ELASTICSEARCH_REPO_DIR="$(cd "$CURRENT_SCRIPT_DIR/../../.." && pwd)" | ||
|
||
CUVS_SNAPSHOT_VERSION="${CUVS_SNAPSHOT_VERSION:-$(cat "$CURRENT_SCRIPT_DIR"/current-snapshot-version)}" | ||
CUVS_ARCHIVE="cuvs-$CUVS_SNAPSHOT_VERSION.tar.gz" | ||
CUVS_URL="https://storage.googleapis.com/elasticsearch-cuvs-snapshots/$CUVS_ARCHIVE" | ||
|
||
CUVS_WORKSPACE=${CUVS_WORKSPACE:-$(cd "$(mktemp -d)")} | ||
CUVS_DIR="$(pwd)/cuvs-$CUVS_SNAPSHOT_VERSION" | ||
|
||
curl -O "$CUVS_URL" | ||
tar -xzf "$CUVS_ARCHIVE" | ||
|
||
CUVS_VERSION=$(cd "$CUVS_DIR/cuvs-java/target" && mvn help:evaluate -Dexpression=project.version -q -DforceStdout) | ||
|
||
LD_LIBRARY_PATH=$(echo "$LD_LIBRARY_PATH" | tr ':' '\n' | grep -v "libcuvs/linux-x64" | tr '\n' ':' | sed 's/:$//') | ||
LD_LIBRARY_PATH="$CUVS_DIR/libcuvs/linux-x64:$LD_LIBRARY_PATH" | ||
export LD_LIBRARY_PATH | ||
|
||
cd "$CUVS_DIR/cuvs-java/target" | ||
mvn install:install-file -Dfile="cuvs-java-$CUVS_VERSION.jar" -DartifactId=elastic-cuvs-java -DgeneratePom=true | ||
|
||
cd "$ELASTICSEARCH_REPO_DIR" | ||
PLUGIN_GRADLE_FILE=x-pack/plugin/gpu/build.gradle | ||
sed -i "s|implementation 'com.nvidia.cuvs:elastic-cuvs-java:.*'|implementation 'com.nvidia.cuvs:elastic-cuvs-java:$CUVS_VERSION'|" "$PLUGIN_GRADLE_FILE" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
91d72b17 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/bin/bash | ||
|
||
set -euo pipefail | ||
|
||
source .buildkite/scripts/cuvs-snapshot/configure.sh | ||
|
||
cd "$WORKSPACE" | ||
|
||
.ci/scripts/run-gradle.sh "$@" |
36 changes: 36 additions & 0 deletions
36
.buildkite/scripts/cuvs-snapshot/update-current-snapshot-version.sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
#!/bin/bash | ||
|
||
set -euo pipefail | ||
|
||
SNAPSHOT_VERSION_FILE=.buildkite/scripts/cuvs-snapshot/current-snapshot-version | ||
BRANCH_TO_UPDATE="${BRANCH_TO_UPDATE:-${BUILDKITE_BRANCH:-cuvs-snapshot}}" | ||
|
||
if [[ -z "${CUVS_SNAPSHOT_VERSION:-}" ]]; then | ||
echo "CUVS_SNAPSHOT_VERSION not set. Set this to update the current snapshot version." | ||
exit 1 | ||
fi | ||
|
||
if [[ "$CUVS_SNAPSHOT_VERSION" == "$(cat $SNAPSHOT_VERSION_FILE)" ]]; then | ||
echo "Current snapshot version already set to '$CUVS_SNAPSHOT_VERSION'. No need to update." | ||
exit 0 | ||
fi | ||
|
||
echo "--- Configuring libcuvs/cuvs-java" | ||
source .buildkite/scripts/cuvs-snapshot/configure.sh | ||
|
||
if [[ "${SKIP_TESTING:-}" != "true" ]]; then | ||
echo "--- Testing snapshot before updating" | ||
./gradlew -Druntime.java=24 :x-pack:plugin:gpu:yamlRestTest -S | ||
fi | ||
|
||
echo "--- Updating snapshot" | ||
|
||
echo "$CUVS_SNAPSHOT_VERSION" > "$SNAPSHOT_VERSION_FILE" | ||
|
||
CURRENT_SHA="$(gh api "/repos/elastic/elasticsearch/contents/$SNAPSHOT_VERSION_FILE?ref=$BRANCH_TO_UPDATE" | jq -r .sha)" || true | ||
|
||
gh api -X PUT "/repos/elastic/elasticsearch/contents/$SNAPSHOT_VERSION_FILE" \ | ||
-f branch="$BRANCH_TO_UPDATE" \ | ||
-f message="Update cuvs snapshot version to $CUVS_VERSION" \ | ||
-f content="$(base64 -w 0 "$WORKSPACE/$SNAPSHOT_VERSION_FILE")" \ | ||
-f sha="$CURRENT_SHA" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
pr: 135545 | ||
summary: Add GPUPlugin for vector indeces on GPU | ||
area: Vector Search | ||
type: feature | ||
issues: [] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this not be a plugin provided setting? My concern is that folks will get this setting even if they cannot load the plugin. Seems bad to me. Do we support index settings being provided by plugins?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This plugin is always loaded as a part of x-pack, and is always available. I've moved this index setting to be under the same feature flag.
And I will futher investigate if an index setting can be a part of plugin.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Addressed in 2d51f5a "Move "index.vectors.indexing.use_gpu" setting under GPUPlugin"