Description
I have found a potential NPE in ZKDatabase#calculateTxnLogSizeLimit:
//ZKDatabase public long calculateTxnLogSizeLimit() { long snapSize = 0; try { snapSize = snapLog.findMostRecentSnapshot().length(); } catch (IOException e) { LOG.error("Unable to get size of most recent snapshot"); } return (long) (snapSize * snapshotSizeFactor); }
in FileTxnSnapLog#findMostRecentSnapshot(), it will return the result of FileSnap#findMostRecentSnapshot:
// called by FileTxnSnapLog#findMostRecentSnapshot() public File findMostRecentSnapshot() throws IOException { List<File> files = findNValidSnapshots(1); if (files.size() == 0) { return null; } return files.get(0); }
So it will return null when the files sizes is 0, but ZKDatabase#calculateTxnLogSizeLimit has no null checker
Attachments
Issue Links
- links to