Author: fpj
Date: Thu May 14 08:21:16 2009
New Revision: 774679
URL: http://svn.apache.org/viewvc?rev=774679&view=rev
Log:
ZOOKEEPER-400. Issues with procedure to close ledger. (flavio)
Modified:
hadoop/zookeeper/trunk/CHANGES.txt
hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/ClientCBWorker.java
hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/LedgerHandle.java
hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/LedgerRecoveryMonitor.java
hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/BookieReadWriteTest.java
hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/LedgerRecoveryTest.java
Modified: hadoop/zookeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/CHANGES.txt?rev=774679&r1=774678&r2=774679&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/CHANGES.txt (original)
+++ hadoop/zookeeper/trunk/CHANGES.txt Thu May 14 08:21:16 2009
@@ -72,6 +72,8 @@
ZOOKEEPER-392. Change log4j properties in bookkeeper. (flavio via mahadev)
+ ZOOKEEPER-400. Issues with procedure to close ledger. (flavio)
+
IMPROVEMENTS:
ZOOKEEPER-308. improve the atomic broadcast performance 3x.
(breed via mahadev)
Modified: hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/ClientCBWorker.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/ClientCBWorker.java?rev=774679&r1=774678&r2=774679&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/ClientCBWorker.java
(original)
+++ hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/ClientCBWorker.java
Thu May 14 08:21:16 2009
@@ -113,10 +113,11 @@
case Operation.ADD:
AddOp aOp = (AddOp) op;
+ aOp.getLedger().setAddConfirmed(aOp.entry);
aOp.cb.addComplete(aOp.getErrorCode(),
aOp.getLedger().getId(), aOp.entry,
aOp.ctx);
- aOp.getLedger().setAddConfirmed(aOp.entry);
+
break;
case Operation.READ:
ReadOp rOp = (ReadOp) op;
Modified: hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/LedgerHandle.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/LedgerHandle.java?rev=774679&r1=774678&r2=774679&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/LedgerHandle.java
(original)
+++ hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/LedgerHandle.java
Thu May 14 08:21:16 2009
@@ -444,8 +444,8 @@
throws KeeperException, InterruptedException {
//Set data on zookeeper
ByteBuffer last = ByteBuffer.allocate(8);
- last.putLong(getLast());
- LOG.info("Last saved on ZK is: " + getLast());
+ last.putLong(lastAddConfirmed);
+ LOG.info("Last saved on ZK is: " + lastAddConfirmed);
String closePath = BookKeeper.prefix + bk.getZKStringId(getId()) + BookKeeper.close;
if(bk.getZooKeeper().exists(closePath, false) == null){
bk.getZooKeeper().create(closePath,
Modified: hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/LedgerRecoveryMonitor.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/LedgerRecoveryMonitor.java?rev=774679&r1=774678&r2=774679&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/LedgerRecoveryMonitor.java
(original)
+++ hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/client/LedgerRecoveryMonitor.java
Thu May 14 08:21:16 2009
@@ -150,14 +150,12 @@
hasMore = false;
LOG.debug("Recovering: " + lh.getLast());
LedgerSequence ls = lh.readEntries(lh.getLast(), lh.getLast());
- //if(ls == null) throw BKException.create(Code.ReadException);
LOG.debug("Received entry for: " + lh.getLast());
byte[] le = ls.nextElement().getEntry();
if(le != null){
if(notLegitimate) notLegitimate = false;
lh.addEntry(le);
- //lh.incLast();
hasMore = true;
}
}
@@ -168,7 +166,7 @@
* Write counter as the last entry of ledger
*/
if(!notLegitimate){
- //lh.setLast(readCounter);
+ lh.setAddConfirmed(readCounter);
lh.close();
return true;
Modified: hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/BookieReadWriteTest.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/BookieReadWriteTest.java?rev=774679&r1=774678&r2=774679&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/BookieReadWriteTest.java
(original)
+++ hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/BookieReadWriteTest.java
Thu May 14 08:21:16 2009
@@ -189,7 +189,7 @@
// wait for all entries to be acknowledged
synchronized (sync) {
- if (sync.counter < numEntriesToWrite){
+ while (sync.counter < numEntriesToWrite){
LOG.debug("Entries counter = " + sync.counter);
sync.wait();
}
@@ -204,7 +204,7 @@
// open ledger
lh = bkc.openLedger(ledgerId, ledgerPassword);
LOG.debug("Number of entries written: " + lh.getLast());
- assertTrue("Verifying number of entries written", lh.getLast() == numEntriesToWrite);
+ assertTrue("Verifying number of entries written", lh.getLast() == (numEntriesToWrite -
1));
//read entries
lh.asyncReadEntries(0, numEntriesToWrite - 1, this, (Object) sync);
@@ -269,7 +269,7 @@
// wait for all entries to be acknowledged
synchronized (sync) {
- if (sync.counter < numEntriesToWrite){
+ while (sync.counter < numEntriesToWrite){
LOG.debug("Entries counter = " + sync.counter);
sync.wait();
}
@@ -284,7 +284,7 @@
// open ledger
lh = bkc.openLedger(ledgerId, ledgerPassword);
LOG.debug("Number of entries written: " + lh.getLast());
- assertTrue("Verifying number of entries written", lh.getLast() == numEntriesToWrite);
+ assertTrue("Verifying number of entries written", lh.getLast() == (numEntriesToWrite -
1));
//read entries
ls = lh.readEntries(0, numEntriesToWrite - 1);
@@ -342,7 +342,7 @@
lh.close();
lh = bkc.openLedger(ledgerId, ledgerPassword);
LOG.debug("Number of entries written: " + lh.getLast());
- assertTrue("Verifying number of entries written", lh.getLast() == numEntriesToWrite);
+ assertTrue("Verifying number of entries written", lh.getLast() == (numEntriesToWrite -
1));
ls = lh.readEntries(0, numEntriesToWrite - 1);
int i = 0;
@@ -394,7 +394,7 @@
lh.close();
lh = bkc.openLedger(ledgerId, ledgerPassword);
LOG.debug("Number of entries written: " + lh.getLast());
- assertTrue("Verifying number of entries written", lh.getLast() == (numEntriesToWrite +
1));
+ assertTrue("Verifying number of entries written", lh.getLast() == numEntriesToWrite);
ls = lh.readEntries(0, numEntriesToWrite - 1);
int i = 0;
@@ -441,8 +441,8 @@
lh2 = bkc.openLedger(ledgerId2, ledgerPassword);
LOG.debug("Number of entries written: " + lh.getLast() + ", " + lh2.getLast());
- assertTrue("Verifying number of entries written lh (" + lh.getLast() + ")" ,
lh.getLast() == numEntriesToWrite);
- assertTrue("Verifying number of entries written lh2 (" + lh2.getLast() + ")",
lh2.getLast() == numEntriesToWrite);
+ assertTrue("Verifying number of entries written lh (" + lh.getLast() + ")" ,
lh.getLast() == (numEntriesToWrite - 1));
+ assertTrue("Verifying number of entries written lh2 (" + lh2.getLast() + ")",
lh2.getLast() == (numEntriesToWrite - 1));
ls = lh.readEntries(0, numEntriesToWrite - 1);
int i = 0;
Modified: hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/LedgerRecoveryTest.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/LedgerRecoveryTest.java?rev=774679&r1=774678&r2=774679&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/LedgerRecoveryTest.java
(original)
+++ hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/LedgerRecoveryTest.java
Thu May 14 08:21:16 2009
@@ -243,7 +243,7 @@
/*
* Check if has recovered properly.
*/
- assertTrue("Has not recovered correctly: " + afterlh.getLast(), afterlh.getLast()
== 1000);
+ assertTrue("Has not recovered correctly: " + afterlh.getLast(), afterlh.getLast()
== 999);
} catch (KeeperException e) {
LOG.error("Error when opening ledger", e);
fail("Couldn't open ledger");
@@ -328,7 +328,7 @@
/*
* Check if has recovered properly.
*/
- assertTrue("Has not recovered correctly: " + afterlh.getLast(), afterlh.getLast()
== 1);
+ assertTrue("Has not recovered correctly: " + afterlh.getLast(), afterlh.getLast()
== 0);
} catch (KeeperException e) {
LOG.error("Error when opening ledger", e);
fail("Couldn't open ledger");
|