support deletes for leading segment merges#203
Conversation
Signed-off-by: Samuel Herman <sherman8915@gmail.com>
|
Is it worth putting this feature behind a feature flag config or experimental tag? |
Signed-off-by: Samuel Herman <sherman8915@gmail.com>
Signed-off-by: Samuel Herman <sherman8915@gmail.com>
Right now this will only kick in if we modify the minimum batch for quantization parameter. If we keep it as is, should be no difference and this functionality of leading segment merges will not be triggered. |
|
I see test failure of timeout, but it doesn't seem to be related to the change as it's not even touching the merge code yet: This seems to indicate that the in-memory cluster is super slow and timing out when adding new documents to the index for some reason. I would recommend that we make changes for this test to share in-memory cluster across tests (switch to @suite mode) and hopefully it will be more stable on GH. Or alternatively see if the next version ugprade fixes it, as it seems to have been introduced after latest upgrade. what do you think? @akash-shankaran |
I agree. This failure is unrelated to your change, lets leave it for now and tackle it after the 3.3 upgrade. This test has also failed (only on GH servers) during the 3.3 upgrade PR. Failure from the upgrade PR (same test) for reference: I'll create a GH issue to track this, if the next upgrade doesn't fix it. . |
Signed-off-by: Samuel Herman <sherman8915@gmail.com>
21230ea to
d27ce96
Compare
Signed-off-by: sam-herman <97131656+sam-herman@users.noreply.github.com>
Signed-off-by: Samuel Herman <sherman8915@gmail.com>
* support deletes for leading segment merges --------- Signed-off-by: Samuel Herman <sherman8915@gmail.com> Signed-off-by: sam-herman <97131656+sam-herman@users.noreply.github.com> (cherry picked from commit 433ccd3)
* support deletes for leading segment merges --------- (cherry picked from commit 433ccd3) Signed-off-by: Samuel Herman <sherman8915@gmail.com> Signed-off-by: sam-herman <97131656+sam-herman@users.noreply.github.com> Co-authored-by: sam-herman <97131656+sam-herman@users.noreply.github.com>
Description
For leading segment merges #133 we made delete an exception that will force full reconstruction of the graph.
This change removes that exception and allow for deletes to also happen in-place on the leading segment, even if those deletes happen on the leading segment itself.
This allows for the results previously shown for the incremental insertion into existing graph change #167 to also shown during deletes.
Benchmarks
Latest delete benchmark using the delete script shows various deletion vs recall scenarios and confirms that jVector behaves in a FreshDiskANN manner.
Related Issues
Resolves #171
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.