You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by iv...@apache.org on 2011/11/18 11:18:07 UTC

svn commit: r1203568 [2/2] - in /zookeeper/bookkeeper/trunk: ./ bookkeeper-server/ bookkeeper-server/bin/ bookkeeper-server/conf/ bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/ bookkeeper-server/src/main/java/org/apache/bookkeeper/client...

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/BookieLayoutVersionTest.java Fri Nov 18 10:18:05 2011
@@ -81,8 +81,9 @@ public class BookieLayoutVersionTest ext
     public void testTooNewVersion() throws Exception {
         // test with bad ledger dir
         try {
-            Bookie b = new Bookie(BOOKIE_PORT, HOSTPORT, newDirectoryWithoutVersion(),
-                    new File[] { newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION + 1) });
+            Bookie b = new Bookie(newServerConfiguration(
+                BOOKIE_PORT, HOSTPORT, newDirectoryWithoutVersion(),
+                new File[] { newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION + 1) }));
             fail("Shouldn't reach here");
         } catch (IOException ioe) {
             assertTrue("Invalid exception", 
@@ -91,8 +92,9 @@ public class BookieLayoutVersionTest ext
         
         // test with bad data dir
         try {
-            Bookie b = new Bookie(BOOKIE_PORT, HOSTPORT, newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION + 1),
-                    new File[] { newDirectoryWithoutVersion() });
+            Bookie b = new Bookie(newServerConfiguration(
+                BOOKIE_PORT, HOSTPORT, newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION + 1),
+                new File[] { newDirectoryWithoutVersion() }));
             fail("Shouldn't reach here");
         } catch (IOException ioe) {
             assertTrue("Invalid exception", 
@@ -101,8 +103,9 @@ public class BookieLayoutVersionTest ext
 
         // test with both bad        
         try {
-            Bookie b = new Bookie(BOOKIE_PORT, HOSTPORT, newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION + 1),
-                    new File[] { newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION + 1) });
+            Bookie b = new Bookie(newServerConfiguration(
+                BOOKIE_PORT, HOSTPORT, newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION + 1),
+                new File[] { newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION + 1) }));
             fail("Shouldn't reach here");
         } catch (IOException ioe) {
             assertTrue("Invalid exception", 
@@ -110,8 +113,9 @@ public class BookieLayoutVersionTest ext
         }
 
         // test with neither bad, both with good version
-        Bookie b = new Bookie(BOOKIE_PORT, HOSTPORT, newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION ),
-                    new File[] { newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION) });
+        Bookie b = new Bookie(newServerConfiguration(
+            BOOKIE_PORT, HOSTPORT, newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION ),
+            new File[] { newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION) }));
         b.shutdown();
     }
 
@@ -119,8 +123,9 @@ public class BookieLayoutVersionTest ext
     public void testTooOldVersion() throws Exception {
         // test with bad ledger dir
         try {
-            Bookie b = new Bookie(BOOKIE_PORT, HOSTPORT, newDirectoryWithoutVersion(),
-                    new File[] { newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION - 1) });
+            Bookie b = new Bookie(newServerConfiguration(
+                BOOKIE_PORT, HOSTPORT, newDirectoryWithoutVersion(),
+                new File[] { newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION - 1) }));
             fail("Shouldn't reach here");
         } catch (IOException ioe) {
             assertTrue("Invalid exception", 
@@ -129,8 +134,9 @@ public class BookieLayoutVersionTest ext
         
         // test with bad data dir
         try {
-            Bookie b = new Bookie(BOOKIE_PORT, HOSTPORT, newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION - 1),
-                    new File[] { newDirectoryWithoutVersion() });
+            Bookie b = new Bookie(newServerConfiguration(
+                BOOKIE_PORT, HOSTPORT, newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION - 1),
+                new File[] { newDirectoryWithoutVersion() }));
             fail("Shouldn't reach here");
         } catch (IOException ioe) {
             assertTrue("Invalid exception", 
@@ -139,8 +145,9 @@ public class BookieLayoutVersionTest ext
 
         // test with both bad        
         try {
-            Bookie b = new Bookie(BOOKIE_PORT, HOSTPORT, newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION - 1),
-                    new File[] { newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION - 1) });
+            Bookie b = new Bookie(newServerConfiguration(
+                BOOKIE_PORT, HOSTPORT, newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION - 1),
+                new File[] { newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION - 1) }));
             fail("Shouldn't reach here");
         } catch (IOException ioe) {
             assertTrue("Invalid exception", 
@@ -152,12 +159,13 @@ public class BookieLayoutVersionTest ext
     public void testSomeOldSomeCurrent() throws Exception {
         // test with both bad        
         try {
-            Bookie b = new Bookie(BOOKIE_PORT, HOSTPORT, newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION),
+            Bookie b = new Bookie(newServerConfiguration(
+                    BOOKIE_PORT, HOSTPORT, newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION),
                     new File[] { newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION - 1),
                                  newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION),
                                  newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION + 1),
                                  newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION),
-                                 newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION - 1),});
+                                 newDirectory(Bookie.CURRENT_DIRECTORY_LAYOUT_VERSION - 1),}));
             fail("Shouldn't reach here");
         } catch (IOException ioe) {
             assertTrue("Invalid exception", 
@@ -174,8 +182,9 @@ public class BookieLayoutVersionTest ext
         writeTextToVersionFile(junkDir2, "JunkText2");
 
         try {
-            Bookie b = new Bookie(BOOKIE_PORT, HOSTPORT, newDirectoryWithoutVersion(),
-                    new File[] { junkDir });
+            Bookie b = new Bookie(newServerConfiguration(
+                BOOKIE_PORT, HOSTPORT, newDirectoryWithoutVersion(),
+                new File[] { junkDir }));
             fail("Shouldn't reach here");
         } catch (IOException ioe) {
             assertTrue("Invalid exception", 
@@ -184,8 +193,9 @@ public class BookieLayoutVersionTest ext
         
         // test with bad data dir
         try {
-            Bookie b = new Bookie(BOOKIE_PORT, HOSTPORT, junkDir,
-                                  new File[] { newDirectoryWithoutVersion() });
+            Bookie b = new Bookie(newServerConfiguration(
+                BOOKIE_PORT, HOSTPORT, junkDir,
+                new File[] { newDirectoryWithoutVersion() }));
             fail("Shouldn't reach here");
         } catch (IOException ioe) {
             assertTrue("Invalid exception", 
@@ -194,8 +204,9 @@ public class BookieLayoutVersionTest ext
 
         // test with both bad        
         try {
-            Bookie b = new Bookie(BOOKIE_PORT, HOSTPORT, junkDir,
-                    new File[] { junkDir2 });
+            Bookie b = new Bookie(newServerConfiguration(
+                BOOKIE_PORT, HOSTPORT, junkDir,
+                new File[] { junkDir2 }));
             fail("Shouldn't reach here");
         } catch (IOException ioe) {
             assertTrue("Invalid exception", 
@@ -212,8 +223,9 @@ public class BookieLayoutVersionTest ext
         roDir2.setWritable(false);
 
         try {
-            Bookie b = new Bookie(BOOKIE_PORT, HOSTPORT, newDirectoryWithoutVersion(),
-                    new File[] { roDir });
+            Bookie b = new Bookie(newServerConfiguration(
+                BOOKIE_PORT, HOSTPORT, newDirectoryWithoutVersion(),
+                new File[] { roDir }));
             fail("Shouldn't reach here");
         } catch (IOException ioe) {
             assertTrue("Invalid exception", 
@@ -222,8 +234,9 @@ public class BookieLayoutVersionTest ext
         
         // test with bad data dir
         try {
-            Bookie b = new Bookie(BOOKIE_PORT, HOSTPORT, roDir,
-                    new File[] { newDirectoryWithoutVersion() });
+            Bookie b = new Bookie(newServerConfiguration(
+                BOOKIE_PORT, HOSTPORT, roDir,
+                new File[] { newDirectoryWithoutVersion() }));
             fail("Shouldn't reach here");
         } catch (IOException ioe) {
             assertTrue("Invalid exception", 
@@ -232,8 +245,9 @@ public class BookieLayoutVersionTest ext
 
         // test with both bad        
         try {
-            Bookie b = new Bookie(BOOKIE_PORT, HOSTPORT, roDir,
-                    new File[] { roDir2 });
+            Bookie b = new Bookie(newServerConfiguration(
+                BOOKIE_PORT, HOSTPORT, roDir,
+                new File[] { roDir2 }));
             fail("Shouldn't reach here");
         } catch (IOException ioe) {
             assertTrue("Invalid exception", 

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperTestClient.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperTestClient.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperTestClient.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookKeeperTestClient.java Fri Nov 18 10:18:05 2011
@@ -24,6 +24,7 @@ package org.apache.bookkeeper.client;
 import java.io.IOException;
 import java.util.concurrent.Executors;
 
+import org.apache.bookkeeper.conf.ClientConfiguration;
 import org.apache.bookkeeper.client.AsyncCallback.CreateCallback;
 import org.apache.bookkeeper.client.AsyncCallback.DeleteCallback;
 import org.apache.bookkeeper.client.AsyncCallback.OpenCallback;
@@ -44,15 +45,19 @@ import org.jboss.netty.channel.socket.ni
  * wish to expose in the public API.
  */
 public class BookKeeperTestClient extends BookKeeper {
-    public BookKeeperTestClient(String servers)
+    public BookKeeperTestClient(ClientConfiguration conf)
             throws IOException, InterruptedException, KeeperException {
-        super(servers);
+        super(conf);
     }
 
     public ZooKeeper getZkHandle() {
         return super.getZkHandle();
     }
 
+    public ClientConfiguration getConf() {
+        return super.getConf();
+    }
+
     /**
      * Force a read to zookeeper to get list of bookies.
      *

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java Fri Nov 18 10:18:05 2011
@@ -40,6 +40,8 @@ import java.util.concurrent.CountDownLat
 import java.util.concurrent.TimeUnit;
 import org.apache.bookkeeper.util.StringUtils;
 import org.apache.bookkeeper.test.BaseTestCase;
+import org.apache.bookkeeper.conf.ClientConfiguration;
+import org.apache.bookkeeper.conf.ServerConfiguration;
 import org.apache.bookkeeper.client.BKException;
 import org.apache.bookkeeper.client.LedgerEntry;
 import org.apache.bookkeeper.client.LedgerHandle;
@@ -106,13 +108,16 @@ public class BookieRecoveryTest extends 
     @Before
     @Override
     public void setUp() throws Exception {
-        super.setUp();
         // Set up the configuration properties needed.
-        System.setProperty("digestType", digestType.toString());
-        System.setProperty("passwd", "");
+        baseClientConf.setBookieRecoveryDigestType(digestType);
+        baseClientConf.setBookieRecoveryPasswd("".getBytes());
+        super.setUp();
+
         sync = new SyncObject();
         bookieRecoverCb = new BookieRecoverCallback();
-        bkAdmin = new BookKeeperAdmin(HOSTPORT);
+        ClientConfiguration adminConf = new ClientConfiguration(baseClientConf);
+        adminConf.setZkServers(HOSTPORT);
+        bkAdmin = new BookKeeperAdmin(adminConf);
     }
 
     @After
@@ -150,7 +155,8 @@ public class BookieRecoveryTest extends 
         InterruptedException {
         List<LedgerHandle> lhs = new ArrayList<LedgerHandle>();
         for (int i = 0; i < numLedgers; i++) {
-            lhs.add(bkc.createLedger(ensemble, quorum, digestType, System.getProperty("passwd").getBytes()));
+            lhs.add(bkc.createLedger(ensemble, quorum, 
+                                     digestType, baseClientConf.getBookieRecoveryPasswd()));
         }
         return lhs;
     }
@@ -191,7 +197,9 @@ public class BookieRecoveryTest extends 
         f.delete();
         f.mkdir();
 
-        BookieServer server = new BookieServer(port, HOSTPORT, f, new File[] { f });
+        ServerConfiguration conf = newServerConfiguration(port, HOSTPORT, f, new File[] { f });
+
+        BookieServer server = new BookieServer(conf);
         server.start();
         bs.add(server);
 
@@ -220,7 +228,7 @@ public class BookieRecoveryTest extends 
         // Get a set of LedgerHandles for all of the ledgers to verify
         List<LedgerHandle> lhs = new ArrayList<LedgerHandle>();
         for (int i = 0; i < numLedgers; i++) {
-            lhs.add(bkc.openLedger(i + 1, digestType, System.getProperty("passwd").getBytes()));
+            lhs.add(bkc.openLedger(i + 1, digestType, baseClientConf.getBookieRecoveryPasswd()));
         }
         // Read the ledger entries to verify that they are all present and
         // correct in the new bookie.

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerCacheTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerCacheTest.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerCacheTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/LedgerCacheTest.java Fri Nov 18 10:18:05 2011
@@ -32,6 +32,7 @@ import java.security.GeneralSecurityExce
 import org.apache.bookkeeper.bookie.Bookie;
 import org.apache.bookkeeper.bookie.BookieException;
 import org.apache.bookkeeper.bookie.LedgerEntryPage;
+import org.apache.bookkeeper.conf.ServerConfiguration;
 import org.apache.bookkeeper.client.MacDigestManager;
 import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.WriteCallback;
 import org.junit.After;
@@ -50,6 +51,7 @@ public class LedgerCacheTest extends Tes
     static Logger LOG = LoggerFactory.getLogger(LedgerCacheTest.class);
 
     Bookie bookie;
+    ServerConfiguration conf;
     File txnDir, ledgerDir;
 
     class TestWriteCallback implements WriteCallback {
@@ -78,8 +80,12 @@ public class LedgerCacheTest extends Tes
         ledgerDir = new File(tmpFile.getParent(), tmpFile.getName()+".dir");
         ledgerDir.mkdirs();
 
-
-        bookie = new Bookie(5000, null, txnDir, new File[] {ledgerDir});
+        conf = new ServerConfiguration();
+        conf.setBookiePort(5000);
+        conf.setZkServers(null);
+        conf.setJournalDirName(txnDir.getPath());
+        conf.setLedgerDirNames(new String[] { ledgerDir.getPath() });
+        bookie = new Bookie(conf);
     }
 
 

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestFencing.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestFencing.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestFencing.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestFencing.java Fri Nov 18 10:18:05 2011
@@ -26,6 +26,7 @@ import java.net.InetSocketAddress;
 import java.util.Enumeration;
 import java.util.concurrent.CyclicBarrier;
 import java.util.concurrent.CountDownLatch;
+import org.apache.bookkeeper.conf.ClientConfiguration;
 import org.apache.bookkeeper.client.LedgerHandle;
 import org.apache.bookkeeper.client.LedgerEntry;
 import org.apache.bookkeeper.client.BookKeeper;
@@ -115,7 +116,7 @@ public class TestFencing extends BaseTes
                 barrier.await();
                 while(true) {
                     try {
-                        bk = new BookKeeper(bkc.getZkHandle());
+                        bk = new BookKeeper(new ClientConfiguration(baseClientConf), bkc.getZkHandle());
                         
                         lh = bk.openLedger(ledgerId, 
                                            digestType, "".getBytes());

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BaseTestCase.java Fri Nov 18 10:18:05 2011
@@ -31,6 +31,8 @@ import java.util.List;
 
 import org.apache.bookkeeper.client.BookKeeperTestClient;
 import org.apache.bookkeeper.client.BookKeeper.DigestType;
+import org.apache.bookkeeper.conf.ClientConfiguration;
+import org.apache.bookkeeper.conf.ServerConfiguration;
 import org.apache.bookkeeper.proto.BookieServer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -64,10 +66,14 @@ public abstract class BaseTestCase exten
     // BookKeeper
     protected List<File> tmpDirs = new ArrayList<File>();
     protected List<BookieServer> bs = new ArrayList<BookieServer>();
+    protected List<ServerConfiguration> bsConfs = new ArrayList<ServerConfiguration>();
     protected Integer initialPort = 5000;
     protected int numBookies;
     protected BookKeeperTestClient bkc;
 
+    protected ServerConfiguration baseConf = new ServerConfiguration();
+    protected ClientConfiguration baseClientConf = new ClientConfiguration();
+
     public BaseTestCase(int numBookies) {
         this.numBookies = numBookies;
     }
@@ -77,6 +83,18 @@ public abstract class BaseTestCase exten
         return Arrays.asList(new Object[][] { {DigestType.MAC }, {DigestType.CRC32}});
     }
 
+    protected ServerConfiguration newServerConfiguration(int port, String zkServers, File journalDir, File[] ledgerDirs) {
+        ServerConfiguration conf = new ServerConfiguration(baseConf);
+        conf.setBookiePort(port);
+        conf.setZkServers(zkServers);
+        conf.setJournalDirName(journalDir.getPath());
+        String[] ledgerDirNames = new String[ledgerDirs.length];
+        for (int i=0; i<ledgerDirs.length; i++) {
+            ledgerDirNames[i] = ledgerDirs[i].getPath();
+        }
+        conf.setLedgerDirNames(ledgerDirNames);
+        return conf;
+    }
 
     @Before
     @Override
@@ -114,12 +132,17 @@ public abstract class BaseTestCase exten
                 f.delete();
                 f.mkdir();
 
-                BookieServer server = new BookieServer(initialPort + i, HOSTPORT, f, new File[] { f });
+                ServerConfiguration conf = newServerConfiguration(
+                    initialPort + i, HOSTPORT, f, new File[] { f });
+                bsConfs.add(conf);
+
+                BookieServer server = new BookieServer(conf);
                 server.start();
                 bs.add(server);
             }
             zkc.close();
-            bkc = new BookKeeperTestClient("127.0.0.1");
+            baseClientConf.setZkServers("127.0.0.1");
+            bkc = new BookKeeperTestClient(baseClientConf);
         } catch(Exception e) {
             LOG.error("Error setting up", e);
             throw e;
@@ -146,6 +169,13 @@ public abstract class BaseTestCase exten
      * @throws IOException
      */
     protected void restartBookies() throws InterruptedException, IOException {
+        restartBookies(null);
+    }
+
+    /**
+     * Restart bookie servers add new configuration settings
+     */
+    protected void restartBookies(ServerConfiguration newConf) throws InterruptedException, IOException {
         // shut down bookie server
         for (BookieServer server : bs) {
             server.shutdown();
@@ -155,7 +185,11 @@ public abstract class BaseTestCase exten
         // restart them to ensure we can't 
         int j = 0;
         for (File f : tmpDirs) {
-            BookieServer server = new BookieServer(initialPort + j, HOSTPORT, f, new File[] { f });
+            ServerConfiguration conf = bsConfs.get(j);
+            if (null != newConf) {
+                conf.loadConf(newConf);
+            }
+            BookieServer server = new BookieServer(conf);
             server.start();
             bs.add(server);
             j++;

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java Fri Nov 18 10:18:05 2011
@@ -32,6 +32,8 @@ import org.jboss.netty.buffer.ChannelBuf
 import org.jboss.netty.channel.socket.ClientSocketChannelFactory;
 import org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory;
 import org.junit.Test;
+import org.apache.bookkeeper.conf.ClientConfiguration;
+import org.apache.bookkeeper.conf.ServerConfiguration;
 import org.apache.bookkeeper.client.BKException;
 import org.apache.bookkeeper.proto.BookieClient;
 import org.apache.bookkeeper.proto.BookieProtocol;
@@ -51,16 +53,22 @@ public class BookieClientTest extends Te
     public int port = 13645;
     public ClientSocketChannelFactory channelFactory;
     public OrderedSafeExecutor executor;
+    ServerConfiguration conf = new ServerConfiguration();
 
     @Override
     public void setUp() throws Exception {
         tmpDir = File.createTempFile("bookie", "test");
         tmpDir.delete();
         tmpDir.mkdir();
+
         // Since this test does not rely on the BookKeeper client needing to
         // know via ZooKeeper which Bookies are available, okay, so pass in null
         // for the zkServers input parameter when constructing the BookieServer.
-        bs = new BookieServer(port, null, tmpDir, new File[] { tmpDir });
+        ServerConfiguration conf = new ServerConfiguration();
+        conf.setZkServers(null).setBookiePort(port)
+            .setJournalDirName(tmpDir.getPath())
+            .setLedgerDirNames(new String[] { tmpDir.getPath() });
+        bs = new BookieServer(conf);
         bs.start();
         channelFactory = new NioClientSocketChannelFactory(Executors.newCachedThreadPool(), Executors
                 .newCachedThreadPool());
@@ -124,7 +132,7 @@ public class BookieClientTest extends Te
         InetSocketAddress addr = new InetSocketAddress("127.0.0.1", port);
         ResultStruct arc = new ResultStruct();
 
-        BookieClient bc = new BookieClient(channelFactory, executor);
+        BookieClient bc = new BookieClient(new ClientConfiguration(), channelFactory, executor);
         ChannelBuffer bb;
         bb = createByteBuffer(1, 1, 1);
         bc.addEntry(addr, 1, passwd, 1, bb, wrcb, null, BookieProtocol.FLAG_NONE);
@@ -224,7 +232,7 @@ public class BookieClientTest extends Te
     public void testNoLedger() throws Exception {
         ResultStruct arc = new ResultStruct();
         InetSocketAddress addr = new InetSocketAddress("127.0.0.1", port);
-        BookieClient bc = new BookieClient(channelFactory, executor);
+        BookieClient bc = new BookieClient(new ClientConfiguration(), channelFactory, executor);
         synchronized (arc) {
             bc.readEntry(addr, 2, 13, recb, arc, BookieProtocol.FLAG_NONE);
             arc.wait(1000);

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieFailureTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieFailureTest.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieFailureTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieFailureTest.java Fri Nov 18 10:18:05 2011
@@ -29,6 +29,7 @@ import java.util.Enumeration;
 import java.util.Random;
 import java.util.Set;
 
+import org.apache.bookkeeper.conf.ClientConfiguration;
 import org.apache.bookkeeper.client.AsyncCallback.AddCallback;
 import org.apache.bookkeeper.client.BKException;
 import org.apache.bookkeeper.client.BookKeeperTestClient;
@@ -137,7 +138,7 @@ public class BookieFailureTest extends B
         }
 
         bs.get(3).shutdown();
-        BookieServer server = new BookieServer(initialPort + 3, HOSTPORT, tmpDirs.get(3), new File[] { tmpDirs.get(3)});
+        BookieServer server = new BookieServer(bsConfs.get(3));
         server.start();
         bs.set(3, server);
 
@@ -192,7 +193,7 @@ public class BookieFailureTest extends B
 
             // open ledger
             bkc.close();
-            bkc = new BookKeeperTestClient("127.0.0.1");
+            bkc = new BookKeeperTestClient(baseClientConf);
             lh = bkc.openLedger(ledgerId, digestType, ledgerPassword);
             LOG.debug("Number of entries written: " + (lh.getLastAddConfirmed() + 1));
             assertTrue("Verifying number of entries written", lh.getLastAddConfirmed() == (numEntriesToWrite - 1));

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieJournalRollingTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieJournalRollingTest.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieJournalRollingTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieJournalRollingTest.java Fri Nov 18 10:18:05 2011
@@ -24,6 +24,7 @@ import java.io.File;
 import java.util.Enumeration;
 import java.util.List;
 
+import org.apache.bookkeeper.conf.ServerConfiguration;
 import org.apache.bookkeeper.bookie.Bookie;
 import org.apache.bookkeeper.bookie.Bookie.JournalIdFilter;
 import org.apache.bookkeeper.client.LedgerEntry;
@@ -53,20 +54,15 @@ public class BookieJournalRollingTest ex
     @Override
     public void setUp() throws Exception {
         // Set up the configuration properties needed.
-        System.setProperty("journal_max_size_mb", "1");
-        System.setProperty("journal_max_backups", "1");
+        baseConf.setMaxJournalSize(1);
+        baseConf.setMaxBackupJournals(1);
         super.setUp();
     }
 
     @After
     @Override
     public void tearDown() throws Exception {
-        try {
-            super.tearDown();
-        } finally {
-            System.setProperty("journal_max_size_mb", "2048");
-            System.setProperty("journal_max_backups", "5");
-        }
+        super.tearDown();
     }
 
     /**
@@ -196,27 +192,25 @@ public class BookieJournalRollingTest ex
         if (LOG.isDebugEnabled()) {
             LOG.debug("Testing Journal Rolling without sync up");
         }
+
         // set flush interval to a large value
-        System.setProperty("flush_interval", "999999999");
-        try {
-            // restart bookies
-            restartBookies();
-
-            // Write enough ledger entries so that we roll over journals
-            LedgerHandle[] lhs = writeLedgerEntries(4, 1024, 1024);
-            long[] ledgerIds = new long[lhs.length];
-            for (int i=0; i<lhs.length; i++) {
-                ledgerIds[i] = lhs[i].getId();
-            }
+        ServerConfiguration newConf = new ServerConfiguration();
+        newConf.setFlushInterval(999999999);
+        // restart bookies
+        restartBookies(newConf);
 
-            // ledger indexes are not flushed
-            // and after bookies restarted, journals will be relayed
-            // ensure that we can still read the entries
-            restartBookies();
-            validLedgerEntries(ledgerIds, 1024, 1024);
-        } finally {
-            System.setProperty("flush_interval", "100");
+        // Write enough ledger entries so that we roll over journals
+        LedgerHandle[] lhs = writeLedgerEntries(4, 1024, 1024);
+        long[] ledgerIds = new long[lhs.length];
+        for (int i=0; i<lhs.length; i++) {
+            ledgerIds[i] = lhs[i].getId();
         }
+
+        // ledger indexes are not flushed
+        // and after bookies restarted, journals will be relayed
+        // ensure that we can still read the entries
+        restartBookies(newConf);
+        validLedgerEntries(ledgerIds, 1024, 1024);
     }
 
 }

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieReadWriteTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieReadWriteTest.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieReadWriteTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieReadWriteTest.java Fri Nov 18 10:18:05 2011
@@ -417,7 +417,7 @@ public class BookieReadWriteTest extends
             Integer throttle = 100;
             ThrottleTestCallback tcb = new ThrottleTestCallback(throttle);
             // Create a ledger
-            System.setProperty("throttle", throttle.toString());
+            bkc.getConf().setThrottleValue(throttle);
             lh = bkc.createLedger(digestType, ledgerPassword);
             // bkc.initMessageDigest("SHA1");
             ledgerId = lh.getId();
@@ -771,8 +771,8 @@ public class BookieReadWriteTest extends
     public void testShutdown() throws IOException {
         try {
             int numLedgers = 10000;
-            Long throttle = (((Double) Math.max(1.0, ((double) 10000/numLedgers))).longValue());
-            System.setProperty("throttle", throttle.toString());
+            int throttle = (((Double) Math.max(1.0, ((double) 10000/numLedgers))).intValue());
+            bkc.getConf().setThrottleValue(throttle);
             LedgerHandle[] lhArray = new LedgerHandle[numLedgers];
             for(int i = 0; i < numLedgers; i++) {
                 lhArray[i] = bkc.createLedger(3, 2, BookKeeper.DigestType.CRC32, new byte[] {'a', 'b'});

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieZKExpireTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieZKExpireTest.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieZKExpireTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieZKExpireTest.java Fri Nov 18 10:18:05 2011
@@ -27,6 +27,7 @@ import org.junit.Before;
 import org.junit.After;
 import static org.junit.Assert.*;
 
+import org.apache.bookkeeper.conf.ServerConfiguration;
 import org.apache.bookkeeper.client.BookKeeper.DigestType;
 import java.util.HashSet;
 import junit.framework.TestCase;
@@ -57,7 +58,8 @@ public class BookieZKExpireTest extends 
                 }
             }
 
-            server = new BookieServer(initialPort + 1, HOSTPORT, f, new File[] { f });
+            ServerConfiguration conf = newServerConfiguration(initialPort + 1, HOSTPORT, f, new File[] { f });
+            server = new BookieServer(conf);
             server.start();
 
             Thread.sleep(10);

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConcurrentLedgerTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConcurrentLedgerTest.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConcurrentLedgerTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConcurrentLedgerTest.java Fri Nov 18 10:18:05 2011
@@ -30,6 +30,7 @@ import java.util.concurrent.atomic.Atomi
 
 import org.apache.bookkeeper.bookie.Bookie;
 import org.apache.bookkeeper.bookie.BookieException;
+import org.apache.bookkeeper.conf.ServerConfiguration;
 import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.WriteCallback;
 import org.junit.After;
 import org.junit.Before;
@@ -49,6 +50,7 @@ public class ConcurrentLedgerTest extend
     File txnDir, ledgerDir;
     int recvTimeout = 10000;
     Semaphore throttle;
+    ServerConfiguration conf = new ServerConfiguration();
 
     @Override
     @Before
@@ -69,7 +71,11 @@ public class ConcurrentLedgerTest extend
         ledgerDir = new File(tmpFile.getParent(), tmpFile.getName()+".dir");
         ledgerDir.mkdirs();
 
-        bookie = new Bookie(5000, null, txnDir, new File[] {ledgerDir});
+        conf.setBookiePort(5000);
+        conf.setZkServers(null);
+        conf.setJournalDirName(txnDir.getPath());
+        conf.setLedgerDirNames(new String[] { ledgerDir.getPath() });
+        bookie = new Bookie(conf);
     }
 
     static void recursiveDelete(File f) {

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConditionalSetTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConditionalSetTest.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConditionalSetTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConditionalSetTest.java Fri Nov 18 10:18:05 2011
@@ -30,6 +30,7 @@ import java.util.Random;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.atomic.AtomicInteger;
 
+import org.apache.bookkeeper.conf.ClientConfiguration;
 import org.apache.bookkeeper.bookie.Bookie;
 import org.apache.bookkeeper.client.BookKeeperTestClient;
 import org.apache.bookkeeper.client.BKException;
@@ -66,7 +67,7 @@ public class ConditionalSetTest extends 
     public void setUp() throws IOException, Exception {
         super.setUp();
         entry = new byte[10]; // initialize the entries list
-        this.bkcReader = new BookKeeperTestClient("127.0.0.1");
+        this.bkcReader = new BookKeeperTestClient(baseClientConf);
     }
 
     /**

Added: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConfigurationTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConfigurationTest.java?rev=1203568&view=auto
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConfigurationTest.java (added)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConfigurationTest.java Fri Nov 18 10:18:05 2011
@@ -0,0 +1,55 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.bookkeeper.test;
+
+import org.apache.bookkeeper.conf.ServerConfiguration;
+
+import junit.framework.TestCase;
+
+import org.junit.Test;
+
+public class ConfigurationTest extends TestCase {
+    @Test
+    public void testConfigurationOverwrite() {
+        System.clearProperty("zkServers");
+
+        ServerConfiguration conf = new ServerConfiguration();
+        assertEquals(null, conf.getZkServers());
+
+        // override setting from property
+        System.setProperty("zkServers", "server1");
+        // it affects previous created configurations, if the setting is not overwrite
+        assertEquals("server1", conf.getZkServers());
+
+        ServerConfiguration conf2 = new ServerConfiguration();
+        assertEquals("server1", conf2.getZkServers());
+
+        System.clearProperty("zkServers");
+
+        // load other configuration
+        ServerConfiguration newConf = new ServerConfiguration();
+        assertEquals(null, newConf.getZkServers());
+        newConf.setZkServers("newserver");
+        assertEquals("newserver", newConf.getZkServers());
+        conf2.loadConf(newConf);
+        assertEquals("newserver", conf2.getZkServers());
+    }
+}

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/LedgerDeleteTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/LedgerDeleteTest.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/LedgerDeleteTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/LedgerDeleteTest.java Fri Nov 18 10:18:05 2011
@@ -48,8 +48,8 @@ public class LedgerDeleteTest extends Ba
     @Override
     public void setUp() throws Exception {
         // Set up the configuration properties needed.
-        System.setProperty("logSizeLimit", Long.toString(2 * 1024 * 1024L));
-        System.setProperty("gcWaitTime", "1000");
+        baseConf.setEntryLogSizeLimit(2 * 1024 * 1024L);
+        baseConf.setGcWaitTime(1000);
         super.setUp();
     }
 
@@ -128,17 +128,7 @@ public class LedgerDeleteTest extends Ba
          * directories. This will test the reading of pre-existing ledger index
          * files in the LedgerCache during startup of a Bookie Server.
          */
-        for (BookieServer server : bs) {
-            server.shutdown();
-        }
-        bs.clear();
-        int j = 0;
-        for (File f : tmpDirs) {
-            BookieServer server = new BookieServer(initialPort + j, HOSTPORT, f, new File[] { f });
-            server.start();
-            bs.add(server);
-            j++;
-        }
+        restartBookies();
 
         // Delete all of these ledgers from the BookKeeper client
         for (LedgerHandle lh : lhs) {

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/LoopbackClient.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/LoopbackClient.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/LoopbackClient.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/LoopbackClient.java Fri Nov 18 10:18:05 2011
@@ -27,6 +27,7 @@ import java.lang.InterruptedException;
 import java.util.Arrays;
 import java.util.concurrent.Executors;
 
+import org.apache.bookkeeper.conf.ClientConfiguration;
 import org.apache.bookkeeper.proto.BookieClient;
 import org.apache.bookkeeper.proto.BookieProtocol;
 import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.WriteCallback;
@@ -68,7 +69,7 @@ class LoopbackClient implements WriteCal
     }
 
     LoopbackClient(ClientSocketChannelFactory channelFactory, OrderedSafeExecutor executor, long begin, int limit) throws IOException {
-        this.client = new BookieClient(channelFactory, executor);
+        this.client = new BookieClient(new ClientConfiguration(), channelFactory, executor);
         this.begin = begin;
     }
 

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/NIOServerFactoryTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/NIOServerFactoryTest.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/NIOServerFactoryTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/NIOServerFactoryTest.java Fri Nov 18 10:18:05 2011
@@ -24,6 +24,7 @@ package org.apache.bookkeeper.test;
 import java.net.Socket;
 import java.nio.ByteBuffer;
 
+import org.apache.bookkeeper.conf.ServerConfiguration;
 import org.apache.bookkeeper.proto.NIOServerFactory;
 import org.apache.bookkeeper.proto.NIOServerFactory.Cnxn;
 import org.apache.bookkeeper.proto.NIOServerFactory.PacketProcessor;
@@ -45,7 +46,9 @@ public class NIOServerFactoryTest extend
 
     @Test
     public void testProblemProcessor() throws Exception {
-        NIOServerFactory factory = new NIOServerFactory(22334, problemProcessor);
+        ServerConfiguration conf = new ServerConfiguration();
+        conf.setBookiePort(22334);
+        NIOServerFactory factory = new NIOServerFactory(conf, problemProcessor);
         Socket s = new Socket("127.0.0.1", 22334);
         s.setSoTimeout(5000);
         try {

Modified: zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/conf/AbstractConfiguration.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/conf/AbstractConfiguration.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/conf/AbstractConfiguration.java (original)
+++ zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/conf/AbstractConfiguration.java Fri Nov 18 10:18:05 2011
@@ -32,6 +32,15 @@ public abstract class AbstractConfigurat
     }
 
     /**
+     * Return real configuration object
+     *
+     * @return configuration
+     */
+    public Configuration getConf() {
+        return conf;
+    }
+
+    /**
      * You can load configurations in precedence order. The first one takes
      * precedence over any loaded later.
      *

Modified: zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/benchmark/BookieBenchmark.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/benchmark/BookieBenchmark.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/benchmark/BookieBenchmark.java (original)
+++ zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/benchmark/BookieBenchmark.java Fri Nov 18 10:18:05 2011
@@ -21,6 +21,7 @@ import java.net.InetSocketAddress;
 import java.nio.ByteBuffer;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Semaphore;
+import org.apache.bookkeeper.conf.ClientConfiguration;
 import org.apache.bookkeeper.client.BKException;
 import org.apache.bookkeeper.proto.BookieClient;
 import org.slf4j.Logger;
@@ -44,7 +45,7 @@ public class BookieBenchmark extends Abs
 
     public BookieBenchmark(String bookieHostPort)  throws Exception {
         channelFactory = new NioClientSocketChannelFactory(Executors.newCachedThreadPool(), Executors.newCachedThreadPool());
-        bkc = new BookieClient(channelFactory, executor);
+        bkc = new BookieClient(new ClientConfiguration(), channelFactory, executor);
         String[] hostPort = bookieHostPort.split(":");
         addr = new InetSocketAddress(hostPort[0], Integer.parseInt(hostPort[1]));
 

Modified: zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/netty/PubSubServer.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/netty/PubSubServer.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/netty/PubSubServer.java (original)
+++ zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/netty/PubSubServer.java Fri Nov 18 10:18:05 2011
@@ -30,6 +30,7 @@ import java.util.concurrent.ScheduledExe
 import java.util.concurrent.SynchronousQueue;
 import java.util.concurrent.TimeUnit;
 
+import org.apache.bookkeeper.conf.ClientConfiguration;
 import org.apache.bookkeeper.client.BookKeeper;
 import org.apache.bookkeeper.client.BKException;
 import org.apache.commons.configuration.ConfigurationException;
@@ -113,7 +114,9 @@ public class PubSubServer {
 
         } else {
             try {
-                bk = new BookKeeper(zk, clientChannelFactory);
+                ClientConfiguration bkConf = new ClientConfiguration();
+                bkConf.addConfiguration(conf.getConf());
+                bk = new BookKeeper(bkConf, zk, clientChannelFactory);
             } catch (KeeperException e) {
                 logger.error("Could not instantiate bookkeeper client", e);
                 throw new IOException(e);

Modified: zookeeper/bookkeeper/trunk/hedwig-server/src/test/java/org/apache/hedwig/server/persistence/BookKeeperTestBase.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/hedwig-server/src/test/java/org/apache/hedwig/server/persistence/BookKeeperTestBase.java?rev=1203568&r1=1203567&r2=1203568&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/hedwig-server/src/test/java/org/apache/hedwig/server/persistence/BookKeeperTestBase.java (original)
+++ zookeeper/bookkeeper/trunk/hedwig-server/src/test/java/org/apache/hedwig/server/persistence/BookKeeperTestBase.java Fri Nov 18 10:18:05 2011
@@ -21,6 +21,8 @@ import java.io.File;
 import java.util.LinkedList;
 import java.util.List;
 
+import org.apache.bookkeeper.conf.ClientConfiguration;
+import org.apache.bookkeeper.conf.ServerConfiguration;
 import org.apache.bookkeeper.client.BookKeeper;
 import org.apache.bookkeeper.proto.BookieServer;
 import org.apache.zookeeper.CreateMode;
@@ -46,6 +48,7 @@ public class BookKeeperTestBase extends 
 
     // BookKeeper Server variables
     private List<BookieServer> bookiesList;
+    private List<ServerConfiguration> bookieConfsList;
     private int initialPort = 5000;
 
     // String constants used for creating the bookie server files.
@@ -57,6 +60,9 @@ public class BookKeeperTestBase extends 
     // BookKeeper client instance
     protected BookKeeper bk;
 
+    protected ServerConfiguration baseConf = new ServerConfiguration();
+    protected ClientConfiguration baseClientConf = new ClientConfiguration();
+
     // Constructor
     public BookKeeperTestBase(int numBookies) {
         this.numBookies = numBookies;
@@ -94,10 +100,14 @@ public class BookKeeperTestBase extends 
 
         // Create Bookie Servers
         bookiesList = new LinkedList<BookieServer>();
+        bookieConfsList = new LinkedList<ServerConfiguration>();
 
         for (int i = 0; i < numBookies; i++) {
             File tmpDir = FileUtils.createTempDirectory(PREFIX + i, SUFFIX);
-            BookieServer bs = new BookieServer(initialPort + i, hostPort, tmpDir, new File[] { tmpDir });
+            ServerConfiguration conf = newServerConfiguration(
+                initialPort + i, hostPort, tmpDir, new File[] { tmpDir });
+            bookieConfsList.add(conf);
+            BookieServer bs = new BookieServer(conf);
             bs.start();
             bookiesList.add(bs);
         }
@@ -126,4 +136,17 @@ public class BookKeeperTestBase extends 
         super.tearDown();
     }
 
+    protected ServerConfiguration newServerConfiguration(int port, String zkServers, File journalDir, File[] ledgerDirs) {
+        ServerConfiguration conf = new ServerConfiguration(baseConf);
+        conf.setBookiePort(port);
+        conf.setZkServers(zkServers);
+        conf.setJournalDirName(journalDir.getPath());
+        String[] ledgerDirNames = new String[ledgerDirs.length];
+        for (int i=0; i<ledgerDirs.length; i++) {
+            ledgerDirNames[i] = ledgerDirs[i].getPath();
+        }
+        conf.setLedgerDirNames(ledgerDirNames);
+        return conf;
+    }
+
 }