[FEATURE REQ] ChangeFeedProcessor event handler fully reactive implementation
I maintainer di solito rispondono entro 1 giorno
@FabianMeiswinkel ci sta già lavorando.
Dal 14/10/2026.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 12/100
Direzione di ricerca
The request is about the ChangeFeedProcessorBuilder and the event handler it accepts for Azure Cosmos DB change feed processing. Read the builder and the handler interface in the Cosmos Java SDK to see how the consumer is invoked, then decide how a Mono or Flux handler would be scheduled. Done would mean an agreed API design and the threading contract settled by maintainers, not a patch.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Is your feature request related to a problem? Please describe.
Current impossibility to handle change feed events based on the ChangeFeedProcessor created by the ChangeFeedProcessorBuilder reactively is quite limmiting.
In case your whole stack is reactive (as is the Quarkus framework in our case) and you are handling large amounts of change feed events which can by inherently parallelized - blocking event Consumer is limiting .
Currently we are forced to subscribe to our internal handler pipelines in a blocking way which itself imposes a lot of additional issues.
Describe the solution you'd like
I propose to either extend the ChangeFeedProcessorBuilder or provide anoher async version of it with the ability to provide handler in a form of a reactive pipeline. Either Mono<?> or FLux<?>.
Having this would allow reactive frameworks to take a full advantage of the reactive stack including retries, parallelizations and threading.
Internally the change feed event handling is reactive, this fact is however masked and made unavailable to the CosmosSDK users.
Describe alternatives you've considered
We have experimented with the fully reactive approach, forcing the CosmosSDK to call our reactive handler pipeline using reflection. This approach is naturally dangerous and may stop working with any furure CosmosSDk update.
However our first performance measurements are very promissing.
In a specific case when you read a batch of 100 events from the change feed and you are able to split them to about 50-60 parallel chunks and process them non-blockingly in parallel - the gain in throughput was about 35%.
Additional context
It is probably crucial for the CosmosSDK to ensure the result of the change feed events batch processing to be emitted on the same Scheduler it was subscribed on - but this is achievable.
Information Checklist
- Description Added
- Expected solution specified
- Lingua principale
- Java
- Stelle
- 2.6k
- Fork
- 2.2k
- Merge medio
- 1g 22h
- PR unite (30g)
- 213
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
-
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] - Handler.close livelocks on FAIL_NON_SERIALIZED while holding the ReactorConnection monitorForse già presa @conniey l’ha presa 1 giorno fa. ApertaAzure.Core.AMQP Client customer-reported needs-team-attention question
Azure/azure-sdk-for-java#50879 · 2 commenti · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[Design] Support External Evaluation Policy (Invoke) in management SDKsForse già presa @weidongxu-microsoft l’ha presa 6 giorni fa. Aperta
Azure/azure-sdk-for-java#50818 · 2 reazioni · 2 assegnatari ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] azure-core-http-vertx: Streaming request bodies hang on Vert.x 5.x (NoSuchMethodError on HttpClientRequest.reset)Forse già presa @alzimmermsft l’ha presa 7 giorni fa. ApertaAzure.Core Client customer-reported needs-team-attention question
Azure/azure-sdk-for-java#50793 · 6 commenti · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
azure-sdk-bom
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
Azure/azure-sdk-for-java#50754 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Azure/azure-sdk-for-java
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
quarkusio/quarkus-agent-mcp#296 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement web-ui
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
jenkinsci/jenkins#27583 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/rocketmq-dashboard#7302 ·
I maintainer di solito rispondono entro 3 giorni
-
area: android good first issue help wanted testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Gautam-aman/ResQNet#56 ·
I maintainer di solito rispondono entro 1 giorno