RongtongJin commented on PR #6571: URL: https://github.com/apache/rocketmq/pull/6571#issuecomment-1512585951
Hi @lizhanhui, I have completed the modification. Moving the serialization operation outside the lock for general messages (messages not related to BCQ and LMQ) is simple, and this is the solution implemented in version 4.x. However, since LMQ and BCQ were introduced after version 5.0, they need to overwrite the queueOffset-related properties during putting message, which caused the current changes. Therefore, for these two types of messages (BCQ and LMQ), when serializing outside the lock, the properties are not written, and properties are serialized and written after the queueOffset is truly determined in lock. This also makes the append process somewhat complicated. I have done some testing and it is currently running normally. Plz feel free to review. -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
