[ 
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

Reply via email to