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)