[ 
https://issues.apache.org/jira/browse/BOOKKEEPER-199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13254635#comment-13254635
 ] 

Sijie Guo commented on BOOKKEEPER-199:
--------------------------------------

{quote}
I am keeping the r-o status in bookie's presence znode(which is emphemeral), 
when restarting its creating new presence znode and like a normal r-w bookie.
{quote}

3 bookies, b1, b2, b3.

at time t1, BookieWatcher has
availableBookies: b1, b2, b3,
roBookies: empty

at time t2, bookie b3 is turned to R-O mode. BookieWatcher changes the lists to:
availableBookies: b1, b2, b3
roBookies: b3

#getAdditionalBookie will get bookie from (b1,b2)

at time t3, bookie b3 is restarted to R-O mode. BookieWatcher's list is still 
same as t2.
since b3 will not be removed from roBookies list.
so #getAdditionalBookie will still just can get bookies from (b1, b2), right?


{quote}
Hope you are pointing me to consider the ledger failures of 'SyncThread' ?

Also, I missed dealing the ledgerCache failures, it would be great to see your 
thoughts/opinion ?
{quote}

SyncThread is one place.
The other place is in LedgerCache, it would call #flushLedger when evicting 
pages.

BTW, from the title of this jira, it also need to handle journal flushing 
failure, right? maybe you need to change code in Bookie#run() to turn a bookie 
into a R-O mode instead of shutting down it directly.

                
> Provide bookie readonly mode, when journal/ledgers flushing has failed with 
> IOE
> -------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-199
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-199
>             Project: Bookkeeper
>          Issue Type: Sub-task
>          Components: bookkeeper-server
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>            Assignee: Rakesh R
>            Priority: Critical
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-199.patch
>
>
> Bookkeeper should change to readonly(r-o) mode when the journal/ledgers 
> flushing has failed with IOException. Later on, reject write requests on 
> server side and will accept only the read requests from the clients, because 
> even if flushing fails, the data in the bookie which has been flushed is 
> still valid.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to