-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3926/
-----------------------------------------------------------
Review request for bookkeeper.
Summary
-------
bookkeeper client treats NoSuchLedgerException as valid response when reading
last confirmed. If NoSuchLedgerException is caused due to an empty directory in
following cases, it is an incorrect response.
1) A disk is replaced or ledger index is removed by a sloppy admin.
2) A disk is not mounted when a bookie machine is restarted.
We need a mechanism to prevent such incorrect responses.
Ivan suggested to generate a instance key for each bookie and write it into the
ledger directories. If a directory doesn't have the key, and other directories
do, then it shouldn't start. This would also resolve the issue that someone
starting a new bookie with the same IP as a bookie which has previously died.
This addresses bug BOOKKEEPER-163.
https://issues.apache.org/jira/browse/BOOKKEEPER-163
Diffs
-----
bookkeeper-server/pom.xml 601104f
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Bookie.java
2fb7c6c
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/BookieException.java
1a5b313
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/Cookie.java
PRE-CREATION
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/EntryLogger.java
aca66e6
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java
PRE-CREATION
bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/LedgerCache.java
3e96d46
bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieJournalTest.java
2df0ed0
bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java
10f9538
bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/CookieTest.java
PRE-CREATION
bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/EntryLogTest.java
f661e90
bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java
PRE-CREATION
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java
99258ac
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestFencing.java
015e4e4
bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java
dada67a
bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieFailureTest.java
ea51118
bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieZKExpireTest.java
5ed7061
bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ZooKeeperUtil.java
PRE-CREATION
Diff: https://reviews.apache.org/r/3926/diff
Testing
-------
Thanks,
Ivan