[BUG] Cosmos P1: Non-streaming vector TOP queries silently discard winning results
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Read DocumentQueryExecutionContextFactory.java around lines 525–536 and NonStreamingOrderByUtils.java around lines 95–109 to trace how fetch-page sizing affects the non-streaming merge’s candidate limit. Reproduce the six-range skewed TOP 60 case and compare exact top-K membership with an unrestricted reference result. Done when all 60 winning results are retained and regression coverage verifies membership through the factory and query pipeline.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
Alan Zimmer's November 6, 2026 audit of com.azure:azure-cosmos:4.84.0-beta.1 reports that a streaming ORDER BY fetch-page optimization also reduces the non-streaming merge's candidate-retention limit. With six ranges and TOP 60, that limit becomes 50. If winning results are concentrated in one range, valid candidates are discarded, yielding too few results or worse matches. Reported priority: P1; silent incorrect query results.
Exception or Stack Trace
N/A; results are silently incorrect.
To Reproduce
Execute a non-streaming vector TOP 60 query across six skewed ranges, with the winning candidates concentrated in one range. Exercise the factory and query pipeline and compare exact top-K membership against an unrestricted reference result.
Code Snippet
No complete executable snippet was supplied. Reported locations: DocumentQueryExecutionContextFactory.java:525-536 and NonStreamingOrderByUtils.java:95-109 in the audited source.
Expected behavior
Fetch-page sizing must not reduce the number of candidates retained for the global top-K merge; all 60 winning results must be retained and returned.
Screenshots
N/A.
Setup (please complete the following information):
- OS: Not reported.
- IDE: Not reported.
- Library/Libraries:
com.azure:azure-cosmos:4.84.0-beta.1. - Java version: Not reported.
- App Server/Environment: Non-streaming vector query over six ranges.
- Frameworks: Not reported.
Dependency mismatch: Not indicated; dependency tree/logs were not supplied.
Additional context
Proposed fix from the audit: separate fetch-page sizing from candidate retention, or exclude non-streaming queries from the streaming optimization.
Regression coverage: exercise the factory/pipeline with six skewed ranges and verify exact top-K membership, not only result count.
Reported reproduction: compiled current-source query components retained 50 results versus 60 with the correct limit. The probe supplied the factory-derived limit and was not a full factory integration test; cached supporting dependencies were used. No live Cosmos calls or full SDK test suite were run, and no repository files were changed. This issue tracks validation and implementation of the proposed fix, not an already-applied fix. Alan recommended addressing this and the failed change-feed initialization finding first.
Information Checklist
- Bug Description Added
- Repro Steps Added
- Setup information Added
- Lingua principale
- Java
- Stelle
- 2.6k
- Fork
- 2.2k
- Merge medio
- 2g 2h
- PR unite (30g)
- 257
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Azure/azure-sdk-for-java
-
[Spring Cloud Azure] Improve Javadoc and startup guidance for allowed-group-names vs allowed-group-ids in AadAuthenticationPropertiesForse già presa @himanchalkaushale l’ha presa 7 giorni fa. Apertaazure-spring azure-spring-aad Client
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Azure/azure-sdk-for-java#51046 · 2 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
mgmt, in track 1 migration guide, call out that file-based authentication method is not recommendedForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. ApertaAzure.Identity
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
Azure/azure-sdk-for-java#48894 ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] DataLakeFileSystemAsyncClient.createIfNotExists returns true when the file system already existsForse già presa @browndav-msft l’ha presa oggi. ApertaClient customer-reported needs-team-attention question Storage
Azure/azure-sdk-for-java#51145 · 2 commenti · 1 reazione · 2 assegnatari ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] RequestRetryOptions tryTimeout has no effect on synchronous Storage clientsForse già presa @browndav-msft l’ha presa oggi. ApertaClient customer-reported needs-team-attention question Service Attention Storage
Azure/azure-sdk-for-java#51144 · 2 commenti · 1 reazione · 2 assegnatari ·
I maintainer di solito rispondono entro 1 giorno
-
Client Cosmos
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
Azure/azure-sdk-for-java#51134 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Azure/azure-sdk-for-java
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
googleads/googleads-mobile-flutter#1541 ·
I maintainer di solito rispondono entro 4 giorni
-
Keyboard crashes Chrome tabsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
Julow/Unexpected-Keyboard#1490 ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
Vakore/ZappierGames#275 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
unitycatalog/unitycatalog#2148 ·
I maintainer di solito rispondono entro 2 giorni
-
enhancement priority: low
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
Riptide-Labs/riptide#1060 ·
I maintainer di solito rispondono entro 1 giorno