You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2021/05/11 10:46:44 UTC

[GitHub] [rocketmq] Git-Yang opened a new issue #2865: [DLedgerCommitLog] 批量消息发送Bug修复

Git-Yang opened a new issue #2865:
URL: https://github.com/apache/rocketmq/issues/2865


   **BUG REPORT**
   
   1. Please describe the issue you observed:
   通过批量接口发送消息时,出现部分消息消费不到的情况。
   
   - 客户端日志:
   ![image](https://user-images.githubusercontent.com/30995057/117802518-27ebe700-b288-11eb-9c0d-90dbfcc534c2.png)
   
   - 服务端日志:
   - - store.log
   ![image](https://user-images.githubusercontent.com/30995057/117801315-bcede080-b286-11eb-91d5-d4464626f89f.png)
   
   - - storeerror.log
   ![image](https://user-images.githubusercontent.com/30995057/117800472-bf036f80-b285-11eb-884a-da63e2a852df.png)
   
   - 异常queueOffset
   写入到同一topic+queue的两条不同的message对应的queueOffset相同
   ![image](https://user-images.githubusercontent.com/30995057/117801743-3a195580-b287-11eb-83e2-2615d48da687.png)
   
   - 问题定位
   batch message在lock外构建时,分配了对应了queueOffset。queueOffset记录在HashMap中,在并发情况下导致数据错误。
   ![image](https://user-images.githubusercontent.com/30995057/117802012-86fd2c00-b287-11eb-9b1e-7908ed2c90a2.png)
   ![image](https://user-images.githubusercontent.com/30995057/117803391-28d14880-b289-11eb-9dff-ebf00ea88379.png)
   
   
   2. Please tell us about your environment:
   version:4.8.0
   jdk 8
   centos 7
   
   3. Other information (e.g. detailed explanation, logs, related issues, suggestions how to fix, etc):
   在lock外层对消息序列化后,在lock内层补充queueOffset信息。
   


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] vongosling closed issue #2865: [DLedgerCommitLog] Batch message send bug fix.

Posted by GitBox <gi...@apache.org>.
vongosling closed issue #2865:
URL: https://github.com/apache/rocketmq/issues/2865


   


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] vongosling closed issue #2865: [DLedgerCommitLog] Batch message send bug fix.

Posted by GitBox <gi...@apache.org>.
vongosling closed issue #2865:
URL: https://github.com/apache/rocketmq/issues/2865


   


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang commented on issue #2865: [DLedgerCommitLog] Batch message send bug fix.

Posted by GitBox <gi...@apache.org>.
Git-Yang commented on issue #2865:
URL: https://github.com/apache/rocketmq/issues/2865#issuecomment-840384455


   补充:
   ![image](https://user-images.githubusercontent.com/30995057/118094615-8c7e8180-b401-11eb-9021-d24212842060.png)
   ![image](https://user-images.githubusercontent.com/30995057/118094563-7a9cde80-b401-11eb-9be8-3277141d7469.png)
   ![image](https://user-images.githubusercontent.com/30995057/118094526-6f49b300-b401-11eb-8fb9-7f3cf3bf728a.png)
   MessageSerializer为公共处理类,其内部的keyBuilder只初始化一次,并发下构建queueOffsetKey会导致数据错误。
   


-- 
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.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org