-
Notifications
You must be signed in to change notification settings - Fork 140
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
Disallow invalid characters for physical file name to be included within vector field name. #1936
Conversation
0a7073b
to
95f7ec1
Compare
src/main/java/org/opensearch/knn/index/mapper/KNNVectorFieldMapper.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/knn/index/mapper/KNNVectorFieldMapperTests.java
Outdated
Show resolved
Hide resolved
src/test/java/org/opensearch/knn/index/mapper/KNNVectorFieldMapperTests.java
Show resolved
Hide resolved
6ddf8a3
to
b72e6f9
Compare
src/test/java/org/opensearch/knn/index/mapper/KNNVectorFieldMapperTests.java
Outdated
Show resolved
Hide resolved
…ame. Signed-off-by: Dooyong Kim <kdooyong@amazon.com>
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.
Code looks good to me. Please fix the conflicts.
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.
LGTM!
Signed-off-by: Doo Yong Kim <0ctopus13prime@gmail.com>
2a77059
…ame. Signed-off-by: Dooyong Kim <kdooyong@amazon.com>
The backport to
To backport manually, run these commands in your terminal: # Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-2.x 2.x
# Navigate to the new working tree
cd .worktrees/backport-2.x
# Create a new branch
git switch --create backport/backport-1936-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 f5ba77114ef662e91a8ce26838159f383931912c
# Push it to GitHub
git push --set-upstream origin backport/backport-1936-to-2.x
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-2.x Then, create a pull request where the |
…hin vector field name. (opensearch-project#1936) * Block a vector field to have invalid characters for a physical file name. Signed-off-by: Dooyong Kim <kdooyong@amazon.com> --------- Signed-off-by: Dooyong Kim <kdooyong@amazon.com> Signed-off-by: Doo Yong Kim <0ctopus13prime@gmail.com> Co-authored-by: Dooyong Kim <kdooyong@amazon.com> (cherry picked from commit f5ba771)
…hin vector field name. (opensearch-project#1936) * Block a vector field to have invalid characters for a physical file name. Signed-off-by: Dooyong Kim <kdooyong@amazon.com> * Block a vector field to have invalid characters for a physical file name. Signed-off-by: Dooyong Kim <kdooyong@amazon.com> --------- Signed-off-by: Dooyong Kim <kdooyong@amazon.com> Signed-off-by: Doo Yong Kim <0ctopus13prime@gmail.com> Co-authored-by: Dooyong Kim <kdooyong@amazon.com> Signed-off-by: Akash Shankaran <akash.shankaran@intel.com>
Description
Issue : #1859.
Issue
While OpenSearch does allow for a field name to have an empty space within it and it disallows an empty space to be contained in a physical file name, KNNCodecUtil::buildEngineFileName uses the field name directly as a part of a vector file name. As a result, in case where the field name had one of disallowed character for a physical file name, it fails in validation of BlobStoreIndexShardSnapshot. For example,
_0_2011_my vector.hnswc
(where 'my vector' is the field name). As a result, BlobStoreIndexShardSnapshot throws an exception complaining file name is not valid.Solution
Add a validation logic to throw an exception in case provided vector field name has any invalid characters.
Related Issues
Issue : #1859.
Check List
--signoff
.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.