[
https://issues.apache.org/jira/browse/BOOKKEEPER-465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13527597#comment-13527597
]
Sijie Guo commented on BOOKKEEPER-465:
--------------------------------------
the test case lgtm +1. thanks Flavio for adding a test case.
[[email protected]] Could you take a look at the test case added by Flavio? If
you are OK with it, I think the patch is ready to be in.
> CreateNewLog may overwrite lastLogId with smaller value
> --------------------------------------------------------
>
> Key: BOOKKEEPER-465
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-465
> Project: Bookkeeper
> Issue Type: Bug
> Affects Versions: 4.2.0
> Reporter: Yixue (Andrew) Zhu
> Assignee: Yixue (Andrew) Zhu
> Priority: Blocker
> Labels: patch
> Fix For: 4.2.0
>
> Attachments: BOOKKEEPER-465.patch, PortNewLogFile.patch
>
>
> In createNewLog(), only one directory is searched to check for duplicate log
> id.
> Then the id is used to overwrite lastLogId.
> It looks like regression from BOOKKEEPER-345.
> // It would better not to overwrite existing entry log files
> File newLogFile = null;
> do {
> String logFileName = Long.toHexString(++logId) + ".log";
> File dir = ledgerDirsManager.pickRandomWritableDir();
> newLogFile = new File(dir, logFileName);
> currentDir = dir;
> if (newLogFile.exists()) {
> LOG.warn("Found existed entry log " + newLogFile
> + " when trying to create it as a new log.");
> newLogFile = null;
> continue;
> }
> } while (newLogFile == null);
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira