[draft] Add null check on native create_index return and fix test callsites for new metricType param#1639
Open
[draft] Add null check on native create_index return and fix test callsites for new metricType param#1639
Conversation
…rameter in create_index FFI Co-authored-by: hailangx <3389245+hailangx@users.noreply.github.com>
… null Co-authored-by: hailangx <3389245+hailangx@users.noreply.github.com>
Co-authored-by: hailangx <3389245+hailangx@users.noreply.github.com>
Co-authored-by: hailangx <3389245+hailangx@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
hailangx
March 18, 2026 23:09
View session
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a defensive check around DiskANN native index creation to fail fast with a clear managed exception, and updates tests/callers to match the updated native create_index signature introduced by the diskann-garnet package bump.
Changes:
- Add
nint.Zerovalidation forNativeDiskANNMethods.create_indexand throwGarnetExceptionon failure. - Update
DiskANNServiceTestscallsites to pass the newly-requiredmetricTypeparameter. - Bump
diskann-garnetpackage version from1.0.23to1.0.25.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
libs/server/Resp/Vector/DiskANNService.cs |
Adds null-pointer check after native create_index call; updates P/Invoke signature to include metricType. |
test/Garnet.test/DiskANN/DiskANNServiceTests.cs |
Updates direct create_index usages to include VectorDistanceMetricType argument. |
Directory.Packages.props |
Upgrades native DiskANN package dependency to 1.0.25. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
| uint dimensions, | ||
| uint reduceDims, | ||
| VectorQuantType quantType, | ||
| int metricType, |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
DiskANNService.CreateIndexwas not validating the return value from the nativecreate_indexFFI call. A null pointer would silently propagate and crash later with an opaque error.Changes
DiskANNService.cs: Checkcreate_indexreturn fornint.Zeroand throwGarnetExceptionwith a clear message. SinceRecreateIndexdelegates toCreateIndex, all callsites are covered.DiskANNServiceTests.cs: Update 3create_indexcallsites to pass the newmetricTypeparameter added in the v1.0.25 P/Invoke signature change.