[ https://issues.apache.org/jira/browse/BOOKKEEPER-1034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16048380#comment-16048380 ]
ASF GitHub Bot commented on BOOKKEEPER-1034: -------------------------------------------- GitHub user reddycharan opened a pull request: https://github.com/apache/bookkeeper/pull/190 BOOKKEEPER-1034: Bookie start in RO when diskfull When the disk is above threshold, Bookie goes to RO. If we have to restart the bookie, on the way back, bookie tries to create new entrylog and other files, which will fail because disk usage is above threshold, hence bookie refuses to come up. So with this fix we will try to start in RO mode if RO is enabled. Also, if bookie has died abruptly then it may missed flushing EntryMemtable and IndexInMemoryPageManager. So next time when it starts when disc is full it is failing to create index file and it is shutting down, though we expect it to start in readonlymode. So Bookie should be able to create index file though it has reached the diskusagethreshold, while starting the Bookie in Readonly Mode. But ofcourse there should be some config to safeguard when disk usable space is so low. Minor fixes in shutdown logic of Bookie and Bookieserver. You can merge this pull request into a Git repository by running: $ git pull https://github.com/reddycharan/bookkeeper bookiestartinreadonlywhendiskfull Alternatively you can review and apply these changes as the patch at: https://github.com/apache/bookkeeper/pull/190.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #190 ---- commit 4c3dccbb747c1403793c535760013007f633f2ca Author: Charan Reddy Guttapalem <cguttapa...@salesforce.com> Date: 2017-03-30T01:30:22Z BOOKKEEPER-1034: Bookie start in RO when diskfull When the disk is above threshold, Bookie goes to RO. If we have to restart the bookie, on the way back, bookie tries to create new entrylog and other files, which will fail because disk usage is above threshold, hence bookie refuses to come up. So with this fix we will try to start in RO mode if RO is enabled. Also, if bookie has died abruptly then it may missed flushing EntryMemtable and IndexInMemoryPageManager. So next time when it starts when disc is full it is failing to create index file and it is shutting down, though we expect it to start in readonlymode. So Bookie should be able to create index file though it has reached the diskusagethreshold, while starting the Bookie in Readonly Mode. But ofcourse there should be some config to safeguard when disk usable space is so low. Minor fixes in shutdown logic of Bookie and Bookieserver. ---- > When all disks are full, start Bookie in RO mode if RO mode is enabled > ----------------------------------------------------------------------- > > Key: BOOKKEEPER-1034 > URL: https://issues.apache.org/jira/browse/BOOKKEEPER-1034 > Project: Bookkeeper > Issue Type: New Feature > Reporter: Charan Reddy Guttapalem > Assignee: Charan Reddy Guttapalem > Priority: Minor > > - When all disks are full start Bookie in RO mode if RO mode is enabled > - This will work only if "isForceGCAllowWhenNoSpace" is allowed, since > LedgerDirsManager.getWritableLedgerDirsForNewLog will be able to find new > writableLedgerDir even when all disks are full. > - If bookie has died abruptly then it may have missed flushing EntryMemtable > and > IndexInMemoryPageManager. So next time when it starts when disc is full > it fails to create index file and it shuts down. So Bookie should be able to > create index file though it has reached the diskusagethreshold, while > starting the Bookie in Readonly Mode. But ofcourse there should be some > config to safeguard when disk usable space is so low. -- This message was sent by Atlassian JIRA (v6.4.14#64029)