wongtp opened a new issue #1453: Tags null while the CommitLog#handleHA()
URL: https://github.com/apache/rocketmq/issues/1453
 
 
   I debug the source code and find the error log “do sync transfer other node, 
wait return, but failed, topic ......”, when "flushOK = false", the method 
"messageExt.getTags()" that are null, the propertites in the  "messageExt" only 
have one value "WAIT=true", I'm sorry about that I have no time to search for 
more information, thanks for all respond 👍
   
   `public void handleHA(AppendMessageResult result, PutMessageResult 
putMessageResult, MessageExt messageExt) {
           if (BrokerRole.SYNC_MASTER == 
this.defaultMessageStore.getMessageStoreConfig().getBrokerRole()) {
               HAService service = this.defaultMessageStore.getHaService();
               if (messageExt.isWaitStoreMsgOK()) {
                   // Determine whether to wait
                   if (service.isSlaveOK(result.getWroteOffset() + 
result.getWroteBytes())) {
                       GroupCommitRequest request = new 
GroupCommitRequest(result.getWroteOffset() + result.getWroteBytes());
                       service.putRequest(request);
                       service.getWaitNotifyObject().wakeupAll();
                       boolean flushOK =
                           
request.waitForFlush(this.defaultMessageStore.getMessageStoreConfig().getSyncFlushTimeout());
                       if (!flushOK) {
                           log.error("do sync transfer other node, wait return, 
but failed, topic: " + messageExt.getTopic() + " tags: "
                               + messageExt.getTags() + " client address: " + 
messageExt.getBornHostNameString());
                           
putMessageResult.setPutMessageStatus(PutMessageStatus.FLUSH_SLAVE_TIMEOUT);
                       }
                   }
                   // Slave problem
                   else {
                       // Tell the producer, slave not available
                       
putMessageResult.setPutMessageStatus(PutMessageStatus.SLAVE_NOT_AVAILABLE);
                   }
               }
           }
   
       }`

----------------------------------------------------------------
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:
[email protected]


With regards,
Apache Git Services

Reply via email to