[
https://issues.apache.org/jira/browse/BOOKKEEPER-199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13265775#comment-13265775
]
Flavio Junqueira commented on BOOKKEEPER-199:
---------------------------------------------
bq. When flush fails (assuming disk failed here), why do we need to turn it to
read only automatically?
Upon such a failure, we shouldn't let the bookie continue processing updates
because its state is broken. There are two choices I see in this case: the
bookie stops processing requests altogether or it serves only read requests.
Making it read-only sort of assumes that the existing bookie state is correct,
but it may not be. Given that we use digests, we could perhaps assume that they
are sufficient to detect corrupt data. But, the safest choice is really to stop
processing requests and drop all connections.
bq. I think admin should get the failure notice, instead of silently turning
out to read only mode.
Agreed.
bq.I did not get the actual use case of read only mode. When we have only one
disk and if it fails we may have to shutdown the node right?
If we lose the transaction log device, then we can't keep writing, but we can
read from the ledger devices. If we have multiple ledger devices and one is
gone, then we could still serve reads from the other disks. In this last case,
the bookie can only serve read requests partially, since the ledgers stored in
the broken devicewon't be served.
If might be complex to handle the different scenarios and perhaps the best
course of action would be to reject new requests altogether for simplicity.
Perhaps this is the point you're getting at, Uma.
> 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.2.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