mirror of
https://github.com/apache/rocketmq.git
synced 2026-08-30 18:10:44 +08:00
[ISSUE #8945] Remove unnecessary operations from the critical section
Co-authored-by: wanghuaiyuan <wanghuaiyuan@xiaomi.com>
This commit is contained in:
@@ -568,15 +568,16 @@ public class DLedgerCommitLog extends CommitLog {
|
||||
AppendFuture<AppendEntryResponse> dledgerFuture;
|
||||
EncodeResult encodeResult;
|
||||
|
||||
encodeResult = this.messageSerializer.serialize(msg);
|
||||
if (encodeResult.status != AppendMessageStatus.PUT_OK) {
|
||||
return CompletableFuture.completedFuture(new PutMessageResult(PutMessageStatus.MESSAGE_ILLEGAL, new AppendMessageResult(encodeResult.status)));
|
||||
}
|
||||
|
||||
String topicQueueKey = msg.getTopic() + "-" + msg.getQueueId();
|
||||
topicQueueLock.lock(topicQueueKey);
|
||||
try {
|
||||
defaultMessageStore.assignOffset(msg);
|
||||
|
||||
encodeResult = this.messageSerializer.serialize(msg);
|
||||
if (encodeResult.status != AppendMessageStatus.PUT_OK) {
|
||||
return CompletableFuture.completedFuture(new PutMessageResult(PutMessageStatus.MESSAGE_ILLEGAL, new AppendMessageResult(encodeResult.status)));
|
||||
}
|
||||
putMessageLock.lock(); //spin or ReentrantLock ,depending on store config
|
||||
long elapsedTimeInLock;
|
||||
long queueOffset;
|
||||
|
||||
Reference in New Issue
Block a user