[
https://issues.apache.org/jira/browse/BOOKKEEPER-101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13138567#comment-13138567
]
[email protected] commented on BOOKKEEPER-101:
----------------------------------------------------------
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2594/
-----------------------------------------------------------
Review request for bookkeeper.
Summary
-------
BookKeeper is designed for use as a Write ahead log. In systems with a
primary/backup architecture, the primary will write state updates to the WAL.
If the primary dies the backup comes online, reads the WAL to get the latest
state and starts serving requests. However, if the primary was only partitioned
from the network, or stuck in a long GC, a split brain occurs. Both primary and
backup can service client requests.
Fencing(http://en.wikipedia.org/wiki/Fencing_%28computing%29) ensures that this
cannot happen. With fencing, the backup can close the WAL of the primary, and
cause any subsequent attempt by the primary to write to the WAL to give an
error.
This addresses bug BOOKKEEPER-101.
https://issues.apache.org/jira/browse/BOOKKEEPER-101
Diffs
-----
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java
affffb6
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieException.java
292617e
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerDescriptor.java
024cac3
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java
a1fbab7
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java
b3eb5b9
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerCreateOp.java
6f72e47
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerHandle.java
8c2a54f
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerMetadata.java
328c7ca
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerOpenOp.java
a68856c
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerRecoveryOp.java
7465c52
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingAddOp.java
eddd760
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java
385b16c
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ReadLastConfirmedOp.java
c2d4cee
bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClient.java
d70ae27
bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieProtocol.java
873dafe
bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServer.java
eea81b9
bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java
2cd4de8
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerCacheTest.java
07639aa
bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/TestProtoVersions.java
f6cd8c9
bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java
97dc2ab
bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieRecoveryTest.java
ac54d9a
bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConcurrentLedgerTest.java
ebb17d2
bookkeeper-server/src/test/java/org/apache/bookkeeper/test/LoopbackClient.java
85822bf
bookkeeper-server/src/test/java/org/apache/bookkeeper/test/TestFencing.java
PRE-CREATION
Diff: https://reviews.apache.org/r/2594/diff
Testing
-------
Thanks,
Ivan
> Add Fencing to Bookkeeper
> -------------------------
>
> Key: BOOKKEEPER-101
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-101
> Project: Bookkeeper
> Issue Type: New Feature
> Reporter: Ivan Kelly
> Assignee: Ivan Kelly
> Fix For: 4.0.0
>
> Attachments: BOOKKEEPER-101.diff
>
>
> BookKeeper is designed for use as a Write ahead log. In systems with a
> primary/backup architecture, the primary will write state updates to the WAL.
> If the primary dies the backup comes online, reads the WAL to get the latest
> state and starts serving requests. However, if the primary was only
> partitioned from the network, or stuck in a long GC, a split brain occurs.
> Both primary and backup can service client requests.
> Fencing(http://en.wikipedia.org/wiki/Fencing_%28computing%29) ensures that
> this cannot happen. With fencing, the backup can close the WAL of the
> primary, and cause any subsequent attempt by the primary to write to the WAL
> to give an error.
--
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