[ 
https://issues.apache.org/jira/browse/TUBEMQ-73?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated TUBEMQ-73:
---------------------------------
    Labels: pull-request-available  (was: )

> fix crc32 checksum in broker & remove duplicate codes
> -----------------------------------------------------
>
>                 Key: TUBEMQ-73
>                 URL: https://issues.apache.org/jira/browse/TUBEMQ-73
>             Project: Apache TubeMQ
>          Issue Type: Improvement
>            Reporter: Guo Jiwei
>            Assignee: Guo Jiwei
>            Priority: Normal
>              Labels: pull-request-available
>
> 1. BrokerServiceServer is always doing crc32 checksum when producing message, 
>  we should only check it when producer enable it.
> {code:java}
> int checkSum = CheckSum.crc32(msgData);
> if (request.getCheckSum() != -1) {
>      if (checkSum != request.getCheckSum()) {
>           builder.setErrCode(TErrCodeConstants.FORBIDDEN);
>           builder.setErrMsg(strBuffer.append("Checksum msg data failure: ")
>                         .append(request.getCheckSum()).append(" of 
> ").append(reqTopic)
>                         .append(" not equal to the data's checksum of ")
>                         .append(checkSum).toString());
>            return builder.build();
>        }
> }
> {code}
> 2. remove duplicate block
> {code:java}
> catch (final Exception e) {
>             logger.error("Put message failed ", e);
>             strBuffer.delete(0, strBuffer.length());
>             builder.setSuccess(false);
>             builder.setErrCode(TErrCodeConstants.INTERNAL_SERVER_ERROR);
>             builder.setErrMsg(strBuffer.append("Put message failed from ")
>                     .append(tubeConfig.getHostName()).append(" ")
>                     .append((e.getMessage() != null ? e.getMessage() : " 
> ")).toString());
>             return builder.build();
>         } catch (final Throwable ex) {
>             logger.error("Put message failed ", ex);
>             strBuffer.delete(0, strBuffer.length());
>             builder.setSuccess(false);
>             builder.setErrCode(TErrCodeConstants.INTERNAL_SERVER_ERROR);
>             builder.setErrMsg(strBuffer.append("Put message failed from ")
>                     .append(tubeConfig.getHostName()).append(" ")
>                     .append((ex.getMessage() != null ? ex.getMessage() : " 
> ")).toString());
>             return builder.build();
>         }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to