yukon created ROCKETMQ-206:
------------------------------
Summary: Load JSON config file error if non-1byte character exists
Key: ROCKETMQ-206
URL: https://issues.apache.org/jira/browse/ROCKETMQ-206
Project: Apache RocketMQ
Issue Type: Bug
Components: rocketmq-commons
Affects Versions: 4.0.0-incubating
Reporter: yukon
Assignee: yukon
Fix For: 4.1.0-incubating
If there are some non-1byte character in consumeroffset.json or other config
files, when Broker restarted, the file contents will be ignored.
See this method, when file.length() != character number, bug triggered.
{code}
public static String file2String(final File file) {
if (file.exists()) {
char[] data = new char[(int) file.length()];
boolean result = false;
FileReader fileReader = null;
try {
fileReader = new FileReader(file);
int len = fileReader.read(data);
result = len == data.length;
} catch (IOException e) {
// e.printStackTrace();
} finally {
if (fileReader != null) {
try {
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
if (result) {
return new String(data);
}
}
return null;
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)