apache / rocketmq

Apache RocketMQ is a cloud native messaging and streaming platform, making it simple to build event-driven applications.
https://rocketmq.apache.org/
Apache License 2.0
21.19k stars 11.67k forks source link

queryMessageByUniqKey:CODE: 208 DESC: query message by key finished, but no message #5636

Closed bootstrapupload closed 10 months ago

bootstrapupload commented 1 year ago

error info: org.apache.rocketmq.client.exception.MQClientException: CODE: 208 DESC: query message by key finished, but no message. For more information, please visit the url, http://rocketmq.apache.org/docs/faq/ at org.apache.rocketmq.client.impl.MQAdminImpl.queryMessage(MQAdminImpl.java:444) at org.apache.rocketmq.client.impl.MQAdminImpl.queryMessageByUniqKey(MQAdminImpl.java:281) at org.apache.rocketmq.client.impl.MQAdminImpl.queryMessageByUniqKey(MQAdminImpl.java:287) at org.apache.rocketmq.tools.admin.DefaultMQAdminExtImpl.viewMessage(DefaultMQAdminExtImpl.java:351) at org.apache.rocketmq.tools.admin.DefaultMQAdminExt.viewMessage(DefaultMQAdminExt.java:559) rocketmq version:4.9.4 brokerConfig:aclEnable=true execute queryMessageByUniqKey(),aclEnable = true and MQClientAPIImpl#queryMessage RemotingCommand addExtField _UNIQUE_KEY_QUERY,because Client generating acl Signature by RemotingCommand, but Server parses RemotingCommand,exclude extField "_UNIQUE_KEY_QUERY",result in Server signature is not equals Client

Server code:PlainAccessValidator# // Content SortedMap<String, String> map = new TreeMap<String, String>(); for (Map.Entry<String, String> entry : request.getExtFields().entrySet()) { if (!SessionCredentials.SIGNATURE.equals(entry.getKey()) && !MixAll.UNIQUE_MSG_QUERY_FLAG.equals(entry.getKey())) { map.put(entry.getKey(), entry.getValue()); } }

ni-ze commented 1 year ago

IMO, Code in PlainAccessValidator has nothing to do with this question, take a look at you client log may be give you more info.

bootstrapupload commented 1 year ago

IMO, Code in PlainAccessValidator has nothing to do with this question, take a look at you client log may be give you more info.

If aclEnable is set to false,query message by key is normal, and aclEnable is true, i modify the local code, it is normal So I guess it has something to do with PlainAccessValidator

image

bootstrapupload commented 1 year ago

this is error info,“CODE: 208 DESC: query message by key finished, but no message” is from client,not the server, the server returns the following information image-20221207155956482

github-actions[bot] commented 10 months ago

This issue is stale because it has been open for 365 days with no activity. It will be closed in 3 days if no further activity occurs.

github-actions[bot] commented 10 months ago

This issue was closed because it has been inactive for 3 days since being marked as stale.

TickFairy commented 1 month ago

this is error info,“CODE: 208 DESC: query message by key finished, but no message” is from client,not the server, the server returns the following information image-20221207155956482

Have you solved this problem? I have the same problem.

TickFairy commented 1 month ago

image

TickFairy commented 1 month ago

image