[Bug] java.lang.ClassCastException: org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext cannot be cast to org.apache.eventmesh.storage.rocketmq.patch.EventMeshConsumeConcurrentlyContext
- Dominant language
- Java
- Stars
- 1.8k
- Forks
- 658
- Avg merge
- 11h 29m
- Merged PRs (30d)
- 52
Description
### Search before asking
- [x] I had searched in the [issues](https://github.com/apache/eventmesh/issues?q=is%3Aissue) and found no similar issues.
### Environment
Windows
### EventMesh version
1.10.0
### What happened
2025-12-04 09:27:43,217 INFO [ConsumeMessageThread_eventmesh-ConsumerGroup-1996127417273421826_7] EventMeshMessageListenerConcurrently(EventMeshMessageListenerConcurrently.java:63) - handleMessage fail
java.lang.ClassCastException: org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext cannot be cast to org.apache.eventmesh.storage.rocketmq.patch.EventMeshConsumeConcurrentlyContext
at org.apache.eventmesh.storage.rocketmq.patch.EventMeshMessageListenerConcurrently.consumeMessage(EventMeshMessageListenerConcurrently.java:44) [eventmesh-storage-rocketmq-1.10.0-release.jar:1.10.0-release]
at org.apache.rocketmq.client.impl.consumer.ConsumeMessageConcurrentlyService$ConsumeRequest.run(ConsumeMessageConcurrentlyService.java:402) [rocketmq-client-4.9.5.jar:4.9.5]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_202]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_202]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_202]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_202]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202]
2025-12-04 09:27:44,204 INFO [MQClientFactoryScheduledThread] RocketmqClient(Slf4jLoggerFactory.java:100) - send heart beat to broker[localhost.localdomain 0 10.10.83.100:10911] success
2025-12-04 09:27:44,204 INFO [MQClientFactoryScheduledThread] RocketmqClient(Slf4jLoggerFactory.java:85) - HeartbeatData [clientID=10.10.83.100@8654%EventMesh%14169808631206000, producerDataSet=[ProducerData [groupName=CLIENT_INNER_PRODUCER], ProducerData [groupName=eventmesh-ProducerGroup-551749c2-ad13-44f1-b708-02ed7a8aff63]], consumerDataSet=[]]
2025-12-04 09:27:44,506 DEBUG [pool-7-thread-1] ConsumerManager(LogUtils.java:84) - grpc client info check
2025-12-04 09:27:44,506 DEBUG [pool-7-thread-1] ConsumerManager(LogUtils.java:90) - total number of ConsumerGroupClients: 0
### How to reproduce
use eventstore version: rocketmq4.9.5
### Debug logs
```Java
2025-12-04 09:27:43,217 INFO [ConsumeMessageThread_eventmesh-ConsumerGroup-1996127417273421826_7] EventMeshMessageListenerConcurrently(EventMeshMessageListenerConcurrently.java:63) - handleMessage fail
java.lang.ClassCastException: org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext cannot be cast to org.apache.eventmesh.storage.rocketmq.patch.EventMeshConsumeConcurrentlyContext
at org.apache.eventmesh.storage.rocketmq.patch.EventMeshMessageListenerConcurrently.consumeMessage(EventMeshMessageListenerConcurrently.java:44) [eventmesh-storage-rocketmq-1.10.0-release.jar:1.10.0-release]
at org.apache.rocketmq.client.impl.consumer.ConsumeMessageConcurrentlyService$ConsumeRequest.run(ConsumeMessageConcurrentlyService.java:402) [rocketmq-client-4.9.5.jar:4.9.5]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_202]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_202]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_202]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_202]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202]
2025-12-04 09:27:44,204 INFO [MQClientFactoryScheduledThread] RocketmqClient(Slf4jLoggerFactory.java:100) - send heart beat to broker[localhost.localdomain 0 10.10.83.100:10911] success
2025-12-04 09:27:44,204 INFO [MQClientFactoryScheduledThread] RocketmqClient(Slf4jLoggerFactory.java:85) - HeartbeatData [clientID=10.10.83.100@8654%EventMesh%14169808631206000, producerDataSet=[ProducerData [groupName=CLIENT_INNER_PRODUCER], ProducerData [groupName=eventmesh-ProducerGroup-551749c2-ad13-44f1-b708-02ed7a8aff63]], consumerDataSet=[]]
2025-12-04 09:27:44,506 DEBUG [pool-7-thread-1] ConsumerManager(LogUtils.java:84) - grpc client info check
2025-12-04 09:27:44,506 DEBUG [pool-7-thread-1] ConsumerManager(LogUtils.java:90) - total number of ConsumerGroupClients: 0
```
### Are you willing to submit PR?
- [ ] Yes I am willing to submit a PR!
### Code of Conduct
- [ ] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) *
Contributor guide
Research direction
Start in org.apache.eventmesh.storage.rocketmq.patch.EventMeshMessageListenerConcurrently.consumeMessage at line 44 and compare the received ConsumeConcurrentlyContext with EventMeshConsumeConcurrentlyContext. Reproduce using EventMesh 1.10.0 with RocketMQ 4.9.5 on the reported consumer path. Done means message consumption no longer fails with this ClassCastException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100