Commit 1f659da
authored
Handle corner in dynamic index with insufficient valid search results (#164)
This PR addresses a rare scenario in dynamic indexes where the search
buffer may not be populated with enough results. This typically occurs
when a large number of vectors have been deleted, resulting in a
sparsely connected graph. To ensure robustness, the buffer is now
supplemented with additional results when needed.
This is a corner case and is not expected to occur frequently, but
handling it improves stability and consistency in edge conditions.1 parent 91b0816 commit 1f659da
File tree
6 files changed
+60
-16
lines changed- include/svs/index/vamana
- tests/svs/index/vamana
6 files changed
+60
-16
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
491 | 491 | | |
492 | 492 | | |
493 | 493 | | |
494 | | - | |
| 494 | + | |
| 495 | + | |
495 | 496 | | |
496 | 497 | | |
497 | 498 | | |
| |||
514 | 515 | | |
515 | 516 | | |
516 | 517 | | |
517 | | - | |
| 518 | + | |
518 | 519 | | |
519 | 520 | | |
520 | 521 | | |
| |||
527 | 528 | | |
528 | 529 | | |
529 | 530 | | |
| 531 | + | |
530 | 532 | | |
531 | 533 | | |
532 | 534 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
196 | | - | |
197 | | - | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
198 | 201 | | |
199 | 202 | | |
200 | | - | |
| 203 | + | |
201 | 204 | | |
202 | 205 | | |
203 | 206 | | |
| |||
577 | 580 | | |
578 | 581 | | |
579 | 582 | | |
580 | | - | |
| 583 | + | |
581 | 584 | | |
582 | 585 | | |
583 | 586 | | |
| |||
597 | 600 | | |
598 | 601 | | |
599 | 602 | | |
600 | | - | |
| 603 | + | |
601 | 604 | | |
602 | 605 | | |
603 | 606 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
410 | 410 | | |
411 | 411 | | |
412 | 412 | | |
413 | | - | |
| 413 | + | |
| 414 | + | |
414 | 415 | | |
415 | 416 | | |
416 | 417 | | |
417 | 418 | | |
418 | 419 | | |
419 | 420 | | |
| 421 | + | |
420 | 422 | | |
421 | 423 | | |
422 | | - | |
| 424 | + | |
423 | 425 | | |
424 | 426 | | |
425 | 427 | | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
426 | 451 | | |
427 | 452 | | |
428 | 453 | | |
| |||
434 | 459 | | |
435 | 460 | | |
436 | 461 | | |
437 | | - | |
| 462 | + | |
| 463 | + | |
438 | 464 | | |
439 | 465 | | |
440 | 466 | | |
441 | 467 | | |
442 | 468 | | |
443 | 469 | | |
444 | 470 | | |
| 471 | + | |
445 | 472 | | |
446 | 473 | | |
447 | 474 | | |
| |||
451 | 478 | | |
452 | 479 | | |
453 | 480 | | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
454 | 485 | | |
455 | 486 | | |
456 | 487 | | |
| |||
488 | 519 | | |
489 | 520 | | |
490 | 521 | | |
491 | | - | |
| 522 | + | |
| 523 | + | |
492 | 524 | | |
493 | 525 | | |
494 | 526 | | |
| |||
497 | 529 | | |
498 | 530 | | |
499 | 531 | | |
| 532 | + | |
500 | 533 | | |
501 | 534 | | |
502 | 535 | | |
| |||
508 | 541 | | |
509 | 542 | | |
510 | 543 | | |
| 544 | + | |
511 | 545 | | |
512 | 546 | | |
513 | 547 | | |
| |||
523 | 557 | | |
524 | 558 | | |
525 | 559 | | |
526 | | - | |
| 560 | + | |
| 561 | + | |
527 | 562 | | |
528 | 563 | | |
529 | 564 | | |
| |||
533 | 568 | | |
534 | 569 | | |
535 | 570 | | |
| 571 | + | |
536 | 572 | | |
537 | 573 | | |
538 | 574 | | |
| |||
544 | 580 | | |
545 | 581 | | |
546 | 582 | | |
547 | | - | |
| 583 | + | |
548 | 584 | | |
549 | 585 | | |
550 | 586 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
510 | 510 | | |
511 | 511 | | |
512 | 512 | | |
513 | | - | |
| 513 | + | |
| 514 | + | |
514 | 515 | | |
515 | 516 | | |
516 | 517 | | |
| |||
592 | 593 | | |
593 | 594 | | |
594 | 595 | | |
| 596 | + | |
595 | 597 | | |
596 | 598 | | |
597 | 599 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
306 | | - | |
| 306 | + | |
| 307 | + | |
307 | 308 | | |
308 | 309 | | |
309 | 310 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
736 | 736 | | |
737 | 737 | | |
738 | 738 | | |
739 | | - | |
| 739 | + | |
740 | 740 | | |
741 | 741 | | |
742 | 742 | | |
| |||
0 commit comments