apache / apache/rocketmq-spring

The wrong log type is used for log printing during error handling

Open
#670 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
2.3k
Forks
943
PR merge metrics
No merged PRs in 30d

Description

## environment
```xml

org.apache.rocketmq
rocketmq-spring-boot-starter
2.3.0

```

> current latest version also has issue.

## describe
using wrong log type in try-catch exception handle.

in `org.apache.rocketmq.spring.support.DefaultRocketMQListenerContainer#doConvertMessage` method used `log.info` instead of `log.error` in exception handling.

```java
private Object doConvertMessage(MessageExt messageExt) {
if (Objects.equals(messageType, MessageExt.class) || Objects.equals(messageType, org.apache.rocketmq.common.message.Message.class)) {
return messageExt;
} else {
String str = new String(messageExt.getBody(), Charset.forName(charset));
if (Objects.equals(messageType, String.class)) {
return str;
} else {
// If msgType not string, use objectMapper change it.
try {
// ignored
} catch (Exception e) {

// here it is 👇
log.info("convert failed. str:{}, msgType:{}", str, messageType);
throw new RuntimeException("cannot convert message to " + messageType, e);
}
}
}
}
```

`log.info` should print normal log, it shoud be using `log.error` instead of `log.info`

## how to fix

```java
private Object doConvertMessage(MessageExt messageExt) {
if (Objects.equals(messageType, MessageExt.class) || Objects.equals(messageType, org.apache.rocketmq.common.message.Message.class)) {
return messageExt;
} else {
String str = new String(messageExt.getBody(), Charset.forName(charset));
if (Objects.equals(messageType, String.class)) {
return str;
} else {
// If msgType not string, use objectMapper change it.
try {
// ignored
} catch (Exception e) {

// change like this
log.error("convert failed. str:{}, msgType:{},\n convert error msg: {}.", str, messageType, e.getMessage());
throw new RuntimeException("cannot convert message to " + messageType, e);
}
}
}
}
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.