-----------------------------------------------------------
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