[ 
https://issues.apache.org/jira/browse/ROCKETMQ-91?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15869372#comment-15869372
 ] 

ASF GitHub Bot commented on ROCKETMQ-91:
----------------------------------------

Github user shroman commented on a diff in the pull request:

    https://github.com/apache/incubator-rocketmq/pull/57#discussion_r101455998
  
    --- Diff: store/src/main/java/org/apache/rocketmq/store/CommitLog.java ---
    @@ -567,6 +577,11 @@ public PutMessageResult putMessage(final 
MessageExtBrokerInner msg) {
             MappedFile unlockMappedFile = null;
             MappedFile mappedFile = this.mappedFileQueue.getLastMappedFile();
     
    +        //maybe need to wrap the exception
    --- End diff --
    
    When encoding fails, let's notify a user with a `PutMessageResult` about 
the failure. There's nothing else we can do, I think.


> Reduce lock granularity for putMessage
> --------------------------------------
>
>                 Key: ROCKETMQ-91
>                 URL: https://issues.apache.org/jira/browse/ROCKETMQ-91
>             Project: Apache RocketMQ
>          Issue Type: Improvement
>    Affects Versions: 4.1.0-incubating
>            Reporter: dongeforever
>            Assignee: dongeforever
>             Fix For: 4.1.0-incubating
>
>
> CommitLog putMessage has a lock as:
> lockForPutMessage()
> ....
> releasePutMessageLock()
> The logic inside the lock includes two main operations:
> 1 encode the message
> 2 write to the PageCache.
> However, we can take the first operation(encode message) out from the lock to 
> achieve better performance.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to