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)

Reply via email to