[ 
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

        

Reply via email to