Event Hub Trigger does not process the messages of a partition sequentially
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
Direzione di ricerca
Iniziare esaminando il comportamento del Java Azure Functions Event Hub trigger descritto nel report, concentrandosi sull’assegnazione delle partizioni, sull’invio tramite thread-pool e sulla configurazione disponibile. Verificare se i messaggi della stessa partizione possono essere eseguiti contemporaneamente e fuori ordine, quindi documentare la configurazione supportata o il comportamento che deve cambiare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hi,
we are using the Event Hub trigger in a Java-based Azure function for processing messages from IoT Hub. We are relying on the fact that message are processed from a partition in the order that they were written to the Event Hub partition, or more specifically that messages with the same partition key are sequentially processed by a single thread. This property of Event Hub partitions is referenced in several places of the documentation, e.g.
Within each partition, events remain in production order
Use keys when consumers need to receive events in production order. Since all events with the same key go to the same partition, events with key values can maintain their order during processing"
In some scenarios, the ordering of events can be important. For example, you may want your back-end system to process an update command before a delete command. In this scenario, a client application sends events to a specific partition so that the ordering is preserved. When a consumer application consumes these events from the partition, they are read in order
We have found that at least in Java Azure Functions using the Event Hub trigger this is not the case. Instead the messages seem to be dispatched to a thread pool, so that messages of the same partition are often executed concurrently and out of order.
Please advise if this behavior can be changed using configuration. Coming from Apache Kafka that uses the same partitioning and concurrency concept, we were very surprised that upholding the message and processing ordering guarantee per partition is not the default behavior.
- Lingua principale
- Java
- Stelle
- 45
- Fork
- 49
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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-functions-java-library
-
[KafkaTrigger] Errors while retrieving function metadata using BindingName in cardinality=Cardinality.MANY modeForse già presa @arnabnandy7 l’ha presa 64 giorni fa. Apertaarea:java-functions
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
Azure/azure-functions-java-library#229 · 1 commento ·
-
[BUG] Duplicated field "client" in BlockBlobClient, raises gson IllegalArgumentExceptionForse già presa @arnabnandy7 l’ha presa 64 giorni fa. Apertaarea:java-functions
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Azure/azure-functions-java-library#222 · 1 reazione ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
EventGridOutput missing 'connection' attribute to use Managed IdentitiesForse già presa @arnabnandy7 l’ha presa 64 giorni fa. Apertaarea:java-functions
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
-
area:java-functions
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di Azure/azure-functions-java-library
Issue simili
-
status: team-only type: dependency-upgrade
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
spring-projects/spring-boot#52143 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area/frontend good first issue kind/cooldown
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
kestra-io/kestra#20704 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno