zhouli11 commented on issue #1347: URL: https://github.com/apache/rocketmq-clients/issues/1347#issuecomment-5506667060
1. Make message reception non-blockingļ¼ The PushConsumer currently uses the synchronous _receive method, which blocks on read_future.result(). It can be replaced with the existing _receive_async implementation. <img width="642" height="307" alt="Image" src="https://github.com/user-attachments/assets/594bd248-5aa4-41b2-b93e-3eb0050d324b" /> 2. Fix related bugs I found and fixed these bugs over the past few months. I originally planned to submit these changes together with the new LiteSimpleConsumer feature, possibly in October. - The expired-queue cleanup has an inverted condition. <img width="596" height="72" alt="Image" src="https://github.com/user-attachments/assets/2e2d61bf-9f5e-4015-827c-693a10ddaf14" /> remove Not The assignment handler starts reception for all existing queues rather than only the newly created ones. <img width="523" height="121" alt="Image" src="https://github.com/user-attachments/assets/cdf9d582-3f7b-4306-9451-6fca2082fbae" /> do __execute_receive only with new Queues The non-FIFO consumption path misses a return after discarding a corrupted message. <img width="724" height="60" alt="Image" src="https://github.com/user-attachments/assets/9aa4d2bb-9ff4-4037-9fb3-f8e949a9e90d" /> add Return when message is corrupted The FIFO discard path also lacks a return after its recursive retry. <img width="686" height="199" alt="Image" src="https://github.com/user-attachments/assets/8a528f15-964d-497c-ae37-9f1f468b7e4e" /> Replace the recursive call with a while loop. Thank you for reporting these bugs,It's very helpful.If possible, could you also confirm whether these fixes work as expected? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
