[
https://issues.apache.org/jira/browse/TUBEMQ-73?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Guo Jiwei updated TUBEMQ-73:
----------------------------
Description:
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}
was:
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}
Summary: fix crc32 checksum in broker & remove duplicate codes (was:
fix crc32 checksum in broker)
> 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
>
> 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)