apache / apache/eventmesh

[Bug] java.lang.ClassCastException: org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext cannot be cast to org.apache.eventmesh.storage.rocketmq.patch.EventMeshConsumeConcurrentlyContext

Open
#5,213 8 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.