-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28868/
-----------------------------------------------------------

(Updated Dec. 9, 2014, 8:36 p.m.)


Review request for bookkeeper.


Bugs: BOOKKEEPER-822
    https://issues.apache.org/jira/browse/BOOKKEEPER-822


Repository: bookkeeper-git


Description
-------

Mutable metadata has been a very rich source of bugs. There are multiple 
processing modifying for rebuilding ensembles, closing, fencing, autorecovery 
etc.

The local metadata should be a mirror of the metadata in zookeeper. So we 
should only modify the local metadata as a whole. The first part of this is 
making it immutable, so that it can only be modified with a builder.


The patch attached is a rebase of the patch from BOOKKEEPER-795


Diffs
-----

  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java
 fbca7d2 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerChecker.java 
3f2580f 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerCreateOp.java
 fe223af 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerFragment.java
 6aadb8a 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerFragmentReplicator.java
 4501524 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerHandle.java 
8cc00eb 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerMetadata.java
 a20f34a 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerRecoveryOp.java
 7ed7aa2 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingAddOp.java 
1b92d09 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java 
e548f3d 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ReadLastConfirmedOp.java
 af21f44 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ReadOnlyLedgerHandle.java
 8de4092 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/TryReadLastConfirmedOp.java
 01b81c9 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManager.java
 f3f680d 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/CleanupLedgerManager.java
 a7fbcf5 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/FlatLedgerManager.java
 2bc4258 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/HierarchicalLedgerManager.java
 7f2df73 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LedgerManager.java 
7229028 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/MSLedgerManagerFactory.java
 2510b89 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/BookieLedgerIndexer.java
 1b4efaf 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/replication/ReplicationWorker.java
 02154e5 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/CompactionTest.java
 ef4cea8 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java
 f18e159 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieWriteLedgerTest.java
 7b77c48 
  bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ClientUtil.java 
dc43b2c 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerCloseTest.java
 6655e9e 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerHandleAdapter.java
 9af527a 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerRecoveryTest.java
 f54cde1 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/SlowBookieTest.java
 521d1e3 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestLedgerChecker.java
 eb61c21 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestLedgerFragmentReplication.java
 e4f744f 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestSpeculativeRead.java
 2a6c71d 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestTryReadLastConfirmed.java
 ac0afb6 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestWatchEnsembleChange.java
 eb833a3 
  bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/GcLedgersTest.java 
19aab44 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/AuditorPeriodicBookieCheckTest.java
 91aae77 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/BookieAutoRecoveryTest.java
 72fd11c 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestAutoRecoveryAlongWithBookieServers.java
 e1ccf68 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/TestReplicationWorker.java
 d47e4b1 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookKeeperClusterTestCase.java
 9662777 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConditionalSetTest.java
 a06accd 

Diff: https://reviews.apache.org/r/28868/diff/


Testing
-------


Thanks,

Ivan Kelly

Reply via email to