client/src/main/java/org/apache/rocketmq/client/impl/consumer/ConsumeMessagePopOrderlyService.java:315 - Pop-mode orderly consumers never consume or ack messages

Aperta
#11,479 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@Metastarx ci sta già lavorando.

Dal 21/10/2026.

  • #11480 di @Metastarx — aperta

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
java

Direzione di ricerca

Start in ConsumeMessagePopOrderlyService.java at submitPopConsumeRequest, ConsumeRequest.run, and processConsumeResult, then trace the POP delivery flow from DefaultMQPushConsumerImpl.popMessage. Check how orderly listeners receive messages and how acknowledgements, invisible time, and consumeRequestSet cleanup are handled. Done when POP messages are delivered and their success or retry outcomes are processed without being lost.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

DefaultMQPushConsumerImpl.popMessage increments PopProcessQueue.waitAckCounter at line 564 and calls ConsumeMessagePopOrderlyService.submitPopConsumeRequest for every FOUND result. That method (lines 161-166) throws away the msgs argument when constructing ConsumeRequest; ConsumeRequest has no message list at all. Its run method (lines 315-324) only checks processQueue.isDropped() and calls messageQueueLock.fetchLockObject, then returns without invoking messageListener, acknowledging messages, changing invisible time, or removing itself from consumeRequestSet. processConsumeResult (lines 214-221) is a no-op, and the retry helpers checkReconsumeTimes/sendMessageBack are never reached. Therefore ordinary POP delivery is lost.

Lingua principale
Java
Stelle
22.7k
Fork
12k
Merge medio
4g 20h
PR unite (30g)
11

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/rocketmq

Tutte le issue di apache/rocketmq

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.