[
https://issues.apache.org/jira/browse/BOOKKEEPER-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13445729#comment-13445729
]
Vinay commented on BOOKKEEPER-345:
----------------------------------
Thanks Ivan for the detailed review and valuable comments.
{quote}It would be better to define an interface, DiskFailureListener such as
...{quote}
Yes, this is nice. I will define like this. But some small modification i need
in this
{code}
interface LedgerDirsListener {
void diskFailed(File disk);
void diskFull(File disk);
void allDiskFull();
void fatalError();
}
{code}
{quote}Why not put NoWritableLedgerDirException in BookieException?{quote}
I wanted to extend IOException instead of Exception as in BookieException, to
avoid so many method signature changes. I followed Bookie.NoLedgerException
{quote}BookieServer#getBookie() why not add the @VisibleForTesting annotation
from guava, since we're using guava now.{quote}
Ok. I will add the guava to pom.xml also.
{quote}what happens if a crash happens half away through creating /foo/bar/boo?
/foo/bar will exist, so no future call to mkdirsWithExistsChecks will
succeed.{quote}
This should not be problem. First it will check /foo/bar/boo, if not able to
create and exists call also fails, then it will check for the parent and
canonical file for /foo/bar/boo again.
The call will fail, only if creation of /foo/bar/boo fails even after trying
with canonical file(Since /foo/bar already exists). If able to create then this
will succeed.
Other comments I will fix and post a new patch in sometime.
> Detect IOExceptions on entrylogger and bookie should consider next ledger
> dir(if any)
> -------------------------------------------------------------------------------------
>
> Key: BOOKKEEPER-345
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-345
> Project: Bookkeeper
> Issue Type: Sub-task
> Components: bookkeeper-server
> Affects Versions: 4.1.0
> Reporter: Rakesh R
> Assignee: Vinay
> Attachments: BOOKKEEPER-345.patch, BOOKKEEPER-345.patch,
> BOOKKEEPER-345.patch, BOOKKEEPER-345.patch
>
>
> This jira to detect IOExceptions in "EntryLogger", and will iterate over all
> the configured ledger(s) on IOException. Finally if no writable dirs
> available, will move bookie to r-o mode(if this mode is enabled).
> By default(r-o mode will be disabled) the bookie will shutdown if no writable
> disk available.
--
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