Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Client failed to withdraw the message #3241

Open
jia-cheng-zhao opened this issue Mar 21, 2025 · 1 comment
Open

[BUG] Client failed to withdraw the message #3241

jia-cheng-zhao opened this issue Mar 21, 2025 · 1 comment
Labels
bug Categorizes issue or PR as related to a bug.

Comments

@jia-cheng-zhao
Copy link

jia-cheng-zhao commented Mar 21, 2025

OpenIM Server Version

3.8.3-patch.3

Operating System and CPU Architecture

Linux (AMD)

Deployment Method

Source Code Deployment

Bug Description and Steps to Reproduce

环境

OS:Ubuntu22.04LTS

问题现象

客户端撤回消息失败。

open-im-server日志:

2025-03-20 20:14:42.328	�[37mDEBUG�[0m	�[37m[PID:1426054]  �[0m	�[37mopenim-msgtransfer       �[0m	[v3.8.3-patch.3
]             	[msgtransfer/online_msg_to_mongo_handler.go:60]   	mongo consumer recv msg                           	{"operationID": "25bf548c-5ab7-4e7c-bccd-365fa05169fe", "msgs": "lastSeq:560  conversationID:\"sg_AgentGroup01f00027-05ea-1632-904b-870014469405\"  msgData:{sendID:\"im_yinning\"  groupID:\"AgentGroup01f00027-05ea-1632-904b-870014469405\"  clientMsgID:\"2a7a44c5801428ecd039fb05b6f3f744\"  serverMsgID:\"4936978d921468def8574bcf002c97ec\"  senderPlatformID:5  senderNickname:\"im_yinning\"  sessionType:3  msgFrom:100  contentType:101  content:\"{\\\"content\\\":\\\"adsfkljl\\\"}\"  seq:561  sendTime:1742472881499  createTime:1742472881217  status:1  offlinePushInfo:{title:\"You have a new message.\"  iOSPushSound:\"+1\"  iOSBadgeCount:true}  attachedInfo:\"{\\\"groupHasReadInfo\\\":{\\\"hasReadCount\\\":0,\\\"groupMemberCount\\\":4},\\\"isPrivateChat\\\":false,\\\"burnDuration\\\":0,\\\"hasReadTime\\\":0,\\\"isEncryption\\\":false,\\\"inEncryptStatus\\\":false}\"  ex:\"{\\\"groupType\\\":603,\\\"domain\\\":\\\"haixin\\\",\\\"memberType\\\":\\\"kefu\\\",\\\"sessionId\\\":\\\"01f005ca-a5b4-16c5-8fde-c245b239c6d4\\\"}\"}"}
2025-03-20 20:14:42.329	�[34mINFO�[0m	�[34m[PID:1426087]  �[0m	�[34mopenim-msgtransfer       �[0m	[v3.8.3-patch.3
]             	[msgtransfer/online_history_msg_handler.go:335]   	toPushTopic end                                   	{"triggerID": "1742472883209217322", "operationID": "25bf548c-5ab7-4e7c-bccd-365fa05169fe"}
2025-03-20 20:14:42.329	�[34mINFO�[0m	�[34m[PID:1426124]  �[0m	�[34mopenim-push              �[0m	[v3.8.3-patch.3
]             	[push/push_handler.go:247]                        	Get group msg from msg_transfer and push msg      	{"platform": "Web", "connID": "c32fa8fbf7094b939e5a87c8ca0b5f5f", "operationID": "25bf548c-5ab7-4e7c-bccd-365fa05169fe", "opUserID": "im_yinning", "msg": "sendID:\"im_yinning\"  groupID:\"AgentGroup01f00027-05ea-1632-904b-870014469405\"  clientMsgID:\"2a7a44c5801428ecd039fb05b6f3f744\"  serverMsgID:\"4936978d921468def8574bcf002c97ec\"  senderPlatformID:5  senderNickname:\"im_yinning\"  sessionType:3  msgFrom:100  contentType:101  content:\"{\\\"content\\\":\\\"adsfkljl\\\"}\"  seq:561  sendTime:1742472881499  createTime:1742472881217  status:1  offlinePushInfo:{title:\"You have a new message.\"  iOSPushSound:\"+1\"  iOSBadgeCount:true}  attachedInfo:\"{\\\"groupHasReadInfo\\\":{\\\"hasReadCount\\\":0,\\\"groupMemberCount\\\":4},\\\"isPrivateChat\\\":false,\\\"burnDuration\\\":0,\\\"hasReadTime\\\":0,\\\"isEncryption\\\":false,\\\"inEncryptStatus\\\":false}\"  ex:\"{\\\"groupType\\\":603,\\\"domain\\\":\\\"haixin\\\",\\\"memberType\\\":\\\"kefu\\\",\\\"sessionId\\\":\\\"01f005ca-a5b4-16c5-8fde-c245b239c6d4\\\"}\"", "groupID": "AgentGroup01f00027-05ea-1632-904b-870014469405"}
2025-03-20 20:14:42.329	�[37mDEBUG�[0m	�[37m[PID:1426124]  �[0m	�[37mopenim-push              �[0m	[v3.8.3-patch.3
]             	[rpccache/group.go:57]                            	GroupLocalCache getGroupMemberIDs req             	{"platform": "Web", "connID": "c32fa8fbf7094b939e5a87c8ca0b5f5f", "operationID": "25bf548c-5ab7-4e7c-bccd-365fa05169fe", "opUserID": "im_yinning", "groupID": "AgentGroup01f00027-05ea-1632-904b-870014469405"}
2025-03-20 20:14:42.329	�[37mDEBUG�[0m	�[37m[PID:1426124]  �[0m	�[37mopenim-push              �[0m	[v3.8.3-patch.3
]             	[rpccache/group.go:60]                            	GroupLocalCache getGroupMemberIDs return          	{"platform": "Web", "connID": "c32fa8fbf7094b939e5a87c8ca0b5f5f", "operationID": "25bf548c-5ab7-4e7c-bccd-365fa05169fe", "opUserID": "im_yinning", "groupID": "AgentGroup01f00027-05ea-1632-904b-870014469405", "value": "userIDs:\"11111112\"  userIDs:\"openim_group_admin\"  userIDs:\"IntelligentAgentRobot001\"  userIDs:\"im_yinning\""}
2025-03-20 20:14:42.329	�[34mINFO�[0m	�[34m[PID:1426124]  �[0m	�[34mopenim-push              �[0m	[v3.8.3-patch.3
]             	[rpccache/online.go:273]                          	get users online                                  	{"platform": "Web", "connID": "c32fa8fbf7094b939e5a87c8ca0b5f5f", "operationID": "25bf548c-5ab7-4e7c-bccd-365fa05169fe", "opUserID": "im_yinning", "online users length": 1, "offline users length": 3, "cost": "2.074µs"}
2025-03-20 20:14:42.329	�[37mDEBUG�[0m	�[37m[PID:1426124]  �[0m	�[37mopenim-push              �[0m	[v3.8.3-patch.3
]             	[push/push_handler.go:229]                        	GetConnsAndOnlinePush online cache                	{"platform": "Web", "connID": "c32fa8fbf7094b939e5a87c8ca0b5f5f", "operationID": "25bf548c-5ab7-4e7c-bccd-365fa05169fe", "opUserID": "im_yinning", "sendID": "im_yinning", "recvID": "", "groupID": "AgentGroup01f00027-05ea-1632-904b-870014469405", "sessionType": 3, "clientMsgID": "2a7a44c5801428ecd039fb05b6f3f744", "serverMsgID": "4936978d921468def8574bcf002c97ec", "offlineUserIDs": ["11111112", "openim_group_admin", "IntelligentAgentRobot001"], "onlineUserIDs": ["im_yinning"]}
2025-03-20 20:14:42.329	�[37mDEBUG�[0m	�[37m[PID:1426124]  �[0m	�[37mopenim-push              �[0m	[v3.8.3-patch.3
]             	[push/onlinepusher.go:68]                         	get gateway conn                                  	{"platform": "Web", "connID": "c32fa8fbf7094b939e5a87c8ca0b5f5f", "operationID": "25bf548c-5ab7-4e7c-bccd-365fa05169fe", "opUserID": "im_yinning", "conn length": 1}
2025-03-20 20:14:42.329	�[34mINFO�[0m	�[34m[PID:1426124]  �[0m	�[34mopenim-push              �[0m	[v3.8.3-patch.3
]             	[mw/rpc_client_interceptor.go:49]                 	rpc client request                                	{"platform": "Web", "connID": "c32fa8fbf7094b939e5a87c8ca0b5f5f", "operationID": "25bf548c-5ab7-4e7c-bccd-365fa05169fe", "opUserID": "im_yinning", "method": "/openim.msggateway.msgGateway/SuperGroupOnlineBatchPushOneMsg", "target": "192.168.9.133:41615", "req": "msgData:{sendID:\"im_yinning\"  groupID:\"AgentGroup01f00027-05ea-1632-904b-870014469405\"  clientMsgID:\"2a7a44c5801428ecd039fb05b6f3f744\"  serverMsgID:\"4936978d921468def8574bcf002c97ec\"  senderPlatformID:5  senderNickname:\"im_yinning\"  sessionType:3  msgFrom:100  contentType:101  content:\"{\\\"content\\\":\\\"adsfkljl\\\"}\"  seq:561  sendTime:1742472881499  createTime:1742472881217  status:2  offlinePushInfo:{title:\"You have a new message.\"  iOSPushSound:\"+1\"  iOSBadgeCount:true}  attachedInfo:\"{\\\"groupHasReadInfo\\\":{\\\"hasReadCount\\\":0,\\\"groupMemberCount\\\":4},\\\"isPrivateChat\\\":false,\\\"burnDuration\\\":0,\\\"hasReadTime\\\":0,\\\"isEncryption\\\":false,\\\"inEncryptStatus\\\":false}\"  ex:\"{\\\"groupType\\\":603,\\\"domain\\\":\\\"haixin\\\",\\\"memberType\\\":\\\"kefu\\\",\\\"sessionId\\\":\\\"01f005ca-a5b4-16c5-8fde-c245b239c6d4\\\"}\"}  pushToUserIDs:\"im_yinning\""}
2025-03-20 20:14:42.329	�[34mINFO�[0m	�[34m[PID:1426048]  �[0m	�[34mopenim-msggateway        �[0m	[v3.8.3-patch.3
]             	[mw/rpc_server_interceptor.go:36]                 	rpc server request                                	{"platform": "Web", "connID": "c32fa8fbf7094b939e5a87c8ca0b5f5f", "operationID": "25bf548c-5ab7-4e7c-bccd-365fa05169fe", "opUserID": "im_yinning", "method": "/openim.msggateway.msgGateway/SuperGroupOnlineBatchPushOneMsg", "req": "msgData:{sendID:\"im_yinning\"  groupID:\"AgentGroup01f00027-05ea-1632-904b-870014469405\"  clientMsgID:\"2a7a44c5801428ecd039fb05b6f3f744\"  serverMsgID:\"4936978d921468def8574bcf002c97ec\"  senderPlatformID:5  senderNickname:\"im_yinning\"  sessionType:3  msgFrom:100  contentType:101  content:\"{\\\"content\\\":\\\"adsfkljl\\\"}\"  seq:561  sendTime:1742472881499  createTime:1742472881217  status:2  offlinePushInfo:{title:\"You have a new message.\"  iOSPushSound:\"+1\"  iOSBadgeCount:true}  attachedInfo:\"{\\\"groupHasReadInfo\\\":{\\\"hasReadCount\\\":0,\\\"groupMemberCount\\\":4},\\\"isPrivateChat\\\":false,\\\"burnDuration\\\":0,\\\"hasReadTime\\\":0,\\\"isEncryption\\\":false,\\\"inEncryptStatus\\\":false}\"  ex:\"{\\\"groupType\\\":603,\\\"domain\\\":\\\"haixin\\\",\\\"memberType\\\":\\\"kefu\\\",\\\"sessionId\\\":\\\"01f005ca-a5b4-16c5-8fde-c245b239c6d4\\\"}\"}  pushToUserIDs:\"im_yinning\""}

...上面为发消息部分,中间省略,下面为撤回部分...

2025-03-20 20:14:46.517	�[34mINFO�[0m	�[34m[PID:1426186]  �[0m	�[34mopenim-api               �[0m	[v3.8.3-patch.3
]             	[mw/rpc_client_interceptor.go:49]                 	rpc client request                                	{"platform": "Web", "operationID": "1fd5c17b-3653-4ba1-9fc8-373538b89139", "opUserID": "im_yinning", "method": "/openim.msg.msg/RevokeMsg", "target": "etcd:///openim/msg", "req": "conversationID:\"sg_AgentGroup01f00027-05ea-1632-904b-870014469405\" seq:561 userID:\"im_yinning\""}
2025-03-20 20:14:46.517	�[34mINFO�[0m	�[34m[PID:1426181]  �[0m	�[34mopenim-rpc-msg           �[0m	[v3.8.3-patch.3
]             	[mw/rpc_server_interceptor.go:36]                 	rpc server request                                	{"platform": "Web", "operationID": "1fd5c17b-3653-4ba1-9fc8-373538b89139", "opUserID": "im_yinning", "method": "/openim.msg.msg/RevokeMsg", "req": "conversationID:\"sg_AgentGroup01f00027-05ea-1632-904b-870014469405\" seq:561 userID:\"im_yinning\""}
2025-03-20 20:14:46.517	�[37mDEBUG�[0m	�[37m[PID:1426181]  �[0m	�[37mopenim-rpc-msg           �[0m	[v3.8.3-patch.3
]             	[rpccache/user.go:56]                             	UserLocalCache GetUserInfo req                    	{"platform": "Web", "operationID": "1fd5c17b-3653-4ba1-9fc8-373538b89139", "opUserID": "im_yinning", "userID": "im_yinning"}
2025-03-20 20:14:46.517	�[37mDEBUG�[0m	�[37m[PID:1426181]  �[0m	�[37mopenim-rpc-msg           �[0m	[v3.8.3-patch.3
]             	[rpccache/user.go:66]                             	UserLocalCache GetUserInfo rpc                    	{"platform": "Web", "operationID": "1fd5c17b-3653-4ba1-9fc8-373538b89139", "opUserID": "im_yinning", "userID": "im_yinning"}
2025-03-20 20:14:46.517	�[34mINFO�[0m	�[34m[PID:1426181]  �[0m	�[34mopenim-rpc-msg           �[0m	[v3.8.3-patch.3
]             	[mw/rpc_client_interceptor.go:49]                 	rpc client request                                	{"platform": "Web", "operationID": "1fd5c17b-3653-4ba1-9fc8-373538b89139", "opUserID": "im_yinning", "method": "/openim.user.user/getDesignateUsers", "target": "etcd:///openim/user", "req": "userIDs:\"im_yinning\""}
2025-03-20 20:14:46.518	�[34mINFO�[0m	�[34m[PID:1426047]  �[0m	�[34mopenim-rpc-user          �[0m	[v3.8.3-patch.3
]             	[mw/rpc_server_interceptor.go:36]                 	rpc server request                                	{"platform": "Web", "operationID": "1fd5c17b-3653-4ba1-9fc8-373538b89139", "opUserID": "im_yinning", "method": "/openim.user.user/getDesignateUsers", "req": "userIDs:\"im_yinning\""}
2025-03-20 20:14:46.518	�[34mINFO�[0m	�[34m[PID:1426047]  �[0m	�[34mopenim-rpc-user          �[0m	[v3.8.3-patch.3
]             	[mw/rpc_server_interceptor.go:44]                 	rpc server response success                       	{"platform": "Web", "operationID": "1fd5c17b-3653-4ba1-9fc8-373538b89139", "opUserID": "im_yinning", "method": "/openim.user.user/getDesignateUsers", "req": "userIDs:\"im_yinning\"", "resp": "usersInfo:{userID:\"im_yinning\" nickname:\"im_yinning\" createTime:1741849772816}"}
2025-03-20 20:14:46.518	�[34mINFO�[0m	�[34m[PID:1426181]  �[0m	�[34mopenim-rpc-msg           �[0m	[v3.8.3-patch.3
]             	[mw/rpc_client_interceptor.go:52]                 	rpc client response success                       	{"platform": "Web", "operationID": "1fd5c17b-3653-4ba1-9fc8-373538b89139", "opUserID": "im_yinning", "method": "/openim.user.user/getDesignateUsers", "resp": "usersInfo:{userID:\"im_yinning\" nickname:\"im_yinning\" createTime:1741849772816}"}
2025-03-20 20:14:46.518	�[37mDEBUG�[0m	�[37m[PID:1426181]  �[0m	�[37mopenim-rpc-msg           �[0m	[v3.8.3-patch.3
]             	[rpccache/user.go:59]                             	UserLocalCache GetUserInfo return                 	{"platform": "Web", "operationID": "1fd5c17b-3653-4ba1-9fc8-373538b89139", "opUserID": "im_yinning", "value": "userID:\"im_yinning\" nickname:\"im_yinning\" createTime:1741849772816"}
2025-03-20 20:14:46.519	�[33mWARN�[0m	�[33m[PID:1426181]  �[0m	�[33mopenim-rpc-msg           �[0m	[v3.8.3-patch.3
]             	[mw/rpc_server_interceptor.go:85]                 	rpc server response failed                        	{"platform": "Web", "operationID": "1fd5c17b-3653-4ba1-9fc8-373538b89139", "opUserID": "im_yinning", "method": "/openim.msg.msg/RevokeMsg", "req": "conversationID:\"sg_AgentGroup01f00027-05ea-1632-904b-870014469405\" seq:561 userID:\"im_yinning\"", "error": "Error: 1004 RecordNotFoundError msg not found | -> errs.(*codeError).WrapMsg() /root/go/pkg/mod/github.com/openimsdk/[email protected]/errs/coderr.go:67 -> msg.(*msgServer).RevokeMsg() /opt/im/open-im-server/internal/rpc/msg/revoke.go:57 -> msg._Msg_RevokeMsg_Handler.func1() /root/go/pkg/mod/github.com/openimsdk/[email protected]/msg/msg_grpc.pb.go:979 -> startrpc.Start[...].prommetricsUnaryInterceptor.func7() /opt/im/open-im-server/pkg/common/startrpc/start.go:229 -> grpc.getChainUnaryHandler.func1() /root/go/pkg/mod/google.golang.org/[email protected]/server.go:1211 -> mw.RpcServerInterceptor() /root/go/pkg/mod/github.com/openimsdk/[email protected]/mw/rpc_server_interceptor.go:40 -> grpc.NewServer.chainUnaryServerInterceptors.chainUnaryInterceptors.func1() /root/go/pkg/mod/google.golang.org/[email protected]/server.go:1202 -> msg._Msg_RevokeMsg_Handler() /root/go/pkg/mod/github.com/openimsdk/[email protected]/msg/msg_grpc.pb.go:981 -> grpc.(*Server).processUnaryRPC() /root/go/pkg/mod/google.golang.org/[email protected]/server.go:1394 -> grpc.(*Server).handleStream() /root/go/pkg/mod/google.golang.org/[email protected]/server.go:1806 -> grpc.(*Server).serveStreams.func2.1() /root/go/pkg/mod/google.golang.org/[email protected]/server.go:1030"}
2025-03-20 20:14:46.519	�[33mWARN�[0m	�[33m[PID:1426186]  �[0m	�[33mopenim-api               �[0m	[v3.8.3-patch.3
]             	[mw/rpc_client_interceptor.go:73]                 	rpc client response failed                        	{"platform": "Web", "operationID": "1fd5c17b-3653-4ba1-9fc8-373538b89139", "opUserID": "im_yinning", "method": "/openim.msg.msg/RevokeMsg", "req": "conversationID:\"sg_AgentGroup01f00027-05ea-1632-904b-870014469405\" seq:561 userID:\"im_yinning\"", "error": "Error: 1004 RecordNotFoundError 1004 RecordNotFoundError msg not found | -> mw.RpcClientInterceptor() /root/go/pkg/mod/github.com/openimsdk/[email protected]/mw/rpc_client_interceptor.go:72 -> grpc.(*ClientConn).Invoke() /root/go/pkg/mod/google.golang.org/[email protected]/call.go:35 -> msg.(*msgClient).RevokeMsg() /root/go/pkg/mod/github.com/openimsdk/[email protected]/msg/msg_grpc.pb.go:309 -> a2r.Call[...]() /root/go/pkg/mod/github.com/openimsdk/[email protected]/a2r/api2rpc.go:58 -> api.(*MessageApi).RevokeMsg() /opt/im/open-im-server/internal/api/msg.go:117 -> gin.(*Context).Next() /root/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:175 -> api.newGinRouter.GinParseToken.func4() /opt/im/open-im-server/internal/api/router.go:324 -> gin.(*Context).Next() /root/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:175 -> api.newGinRouter.GinParseOperationID.func3() /root/go/pkg/mod/github.com/openimsdk/[email protected]/mw/gin.go:76 -> gin.(*Context).Next() /root/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:175 -> api.newGinRouter.CorsHandler.func2() /root/go/pkg/mod/github.com/openimsdk/[email protected]/mw/gin.go:60 -> gin.(*Context).Next() /root/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174 -> gin.CustomRecoveryWithWriter.func1() /root/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:172 -> gin.(*Context).Next() /root/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:175 -> api.newGinRouter.prommetricsGin.func1() /opt/im/open-im-server/internal/api/router.go:43 -> gin.(*Context).Next() /root/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174 -> gin.(*Engine).handleHTTPRequest() /root/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:172 -> gin.(*Engine).ServeHTTP() /root/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:578 -> http.serverHandler.ServeHTTP() /usr/local/go/src/net/http/server.go:3302 -> http.(*conn).serve() /usr/local/go/src/net/http/server.go:2103"}

完整日志文件:

openim-service-log.zip

尝试分析

Server-APIs: conversation/get_owner_conversation(获取当前用户的会话列表),返回结果

{
    "errCode": 0,
    "errMsg": "",
    "errDlt": "",
    "data": {
        "total": 5,
        "conversations": [
            {
                "ownerUserID": "im_yinning",
                "conversationID": "sg_AgentGroup01f00027-05ea-1632-904b-870014469405",
                "recvMsgOpt": 0,
                "conversationType": 3,
                "userID": "",
                "groupID": "AgentGroup01f00027-05ea-1632-904b-870014469405",
                "isPinned": false,
                "attachedInfo": "",
                "isPrivateChat": false,
                "groupAtType": 0,
                "ex": "",
                "burnDuration": 0,
                "minSeq": 0,
                "maxSeq": 399,
                "msgDestructTime": 0,
                "latestMsgDestructTime": -62135596800000,
                "isMsgDestruct": false
            }
        ]
    }
}

通过接口看到im_yinning用户在该会话的maxSeq399,而上面日志中发送和打算撤回消息的seq为561
再调用Server-APIs: msg/revoke_msg,其中"seq": 561,返回结果为:

{
    "errCode": 1004,
    "errMsg": "RecordNotFoundError",
    "errDlt": "1004 RecordNotFoundError msg not found"
}

Screenshots Link

No response

@jia-cheng-zhao jia-cheng-zhao added the bug Categorizes issue or PR as related to a bug. label Mar 21, 2025
@OpenIM-Robot OpenIM-Robot changed the title [BUG] 客户端撤回消息失败 [BUG] Client failed to withdraw the message Mar 21, 2025
@OpenIM-Robot
Copy link

Hello! Thank you for filing an issue.

If this is a bug report, please include relevant logs to help us debug the problem.

Join slack 🤖 to connect and communicate with our developers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Categorizes issue or PR as related to a bug.
Projects
None yet
Development

No branches or pull requests

2 participants