Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
4.0.0-incubating
-
None
Description
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.
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; }