You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "Ivan Kelly (JIRA)" <ji...@apache.org> on 2013/02/13 16:49:03 UTC

[jira] [Closed] (BOOKKEEPER-465) CreateNewLog may overwrite lastLogId with smaller value

     [ https://issues.apache.org/jira/browse/BOOKKEEPER-465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ivan Kelly closed BOOKKEEPER-465.
---------------------------------

    
> 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