This repository was archived by the owner on May 15, 2026. It is now read-only.
Commit 76baa43
committed
fix: prevent unnecessary full reindex when Qdrant collection already exists
Root cause: getCollectionInfo() treated ALL errors (including connection
failures and timeouts) as "collection not found", causing initialize()
to create a new collection even when one already existed with valid data.
Additionally, the error handler in the orchestrator aggressively cleared
both the collection and cache on any indexing error, destroying existing
indexed data.
Changes:
- getCollectionInfo(): Only return null for 404 (not found) errors;
propagate other errors (connection failures, timeouts) so callers
can distinguish "missing collection" from "unreachable Qdrant"
- hasIndexedData(): Let connection errors propagate instead of silently
returning false (which triggered full reindex)
- collectionExists(): Same error propagation improvement
- Orchestrator error handler: Only clear collection + cache when the
collection was just created (no pre-existing data to preserve). For
existing collections, flush/persist the cache instead of clearing it
so incremental scans can resume on next startup.
Fixes #121451 parent cb83656 commit 76baa43
4 files changed
Lines changed: 160 additions & 84 deletions
File tree
- src/services/code-index
- __tests__
- vector-store
- __tests__
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
133 | | - | |
134 | | - | |
135 | | - | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
| |||
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
152 | | - | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
153 | 184 | | |
154 | | - | |
| 185 | + | |
155 | 186 | | |
156 | 187 | | |
157 | 188 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
129 | 129 | | |
130 | 130 | | |
131 | 131 | | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
132 | 135 | | |
133 | 136 | | |
134 | | - | |
| 137 | + | |
135 | 138 | | |
136 | 139 | | |
137 | 140 | | |
| |||
316 | 319 | | |
317 | 320 | | |
318 | 321 | | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | | - | |
328 | | - | |
329 | | - | |
330 | | - | |
331 | 322 | | |
332 | | - | |
333 | | - | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
334 | 326 | | |
335 | | - | |
336 | | - | |
337 | | - | |
338 | | - | |
339 | | - | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
340 | 354 | | |
341 | 355 | | |
342 | 356 | | |
| |||
Lines changed: 14 additions & 20 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
647 | 647 | | |
648 | 648 | | |
649 | 649 | | |
650 | | - | |
| 650 | + | |
651 | 651 | | |
652 | 652 | | |
653 | | - | |
| 653 | + | |
654 | 654 | | |
655 | | - | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
656 | 659 | | |
657 | | - | |
658 | 660 | | |
659 | | - | |
| 661 | + | |
| 662 | + | |
660 | 663 | | |
661 | | - | |
662 | | - | |
663 | | - | |
664 | | - | |
665 | | - | |
666 | | - | |
| 664 | + | |
667 | 665 | | |
668 | 666 | | |
669 | 667 | | |
| |||
1007 | 1005 | | |
1008 | 1006 | | |
1009 | 1007 | | |
1010 | | - | |
| 1008 | + | |
1011 | 1009 | | |
1012 | 1010 | | |
1013 | | - | |
| 1011 | + | |
1014 | 1012 | | |
1015 | | - | |
| 1013 | + | |
| 1014 | + | |
1016 | 1015 | | |
1017 | | - | |
1018 | 1016 | | |
1019 | | - | |
1020 | | - | |
1021 | | - | |
1022 | | - | |
1023 | | - | |
| 1017 | + | |
1024 | 1018 | | |
1025 | 1019 | | |
1026 | 1020 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
130 | 162 | | |
131 | 163 | | |
132 | 164 | | |
133 | 165 | | |
134 | 166 | | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
139 | 170 | | |
| 171 | + | |
140 | 172 | | |
141 | | - | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
142 | 180 | | |
143 | 181 | | |
144 | 182 | | |
| |||
572 | 610 | | |
573 | 611 | | |
574 | 612 | | |
575 | | - | |
576 | | - | |
| 613 | + | |
| 614 | + | |
577 | 615 | | |
578 | 616 | | |
579 | 617 | | |
580 | 618 | | |
581 | 619 | | |
582 | 620 | | |
583 | 621 | | |
584 | | - | |
585 | | - | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
586 | 626 | | |
587 | 627 | | |
588 | | - | |
589 | | - | |
590 | | - | |
591 | | - | |
592 | | - | |
593 | | - | |
594 | | - | |
595 | | - | |
596 | | - | |
597 | | - | |
598 | | - | |
599 | | - | |
600 | | - | |
601 | | - | |
602 | | - | |
603 | | - | |
604 | | - | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
605 | 639 | | |
606 | | - | |
607 | | - | |
608 | | - | |
609 | | - | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
610 | 646 | | |
611 | | - | |
612 | | - | |
613 | | - | |
614 | | - | |
615 | | - | |
616 | | - | |
617 | | - | |
618 | | - | |
619 | | - | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
620 | 650 | | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
621 | 658 | | |
622 | 659 | | |
623 | 660 | | |
| |||
0 commit comments