Return-Path: Delivered-To: apmail-hadoop-zookeeper-commits-archive@minotaur.apache.org Received: (qmail 2964 invoked from network); 17 Dec 2009 17:36:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 17 Dec 2009 17:36:53 -0000 Received: (qmail 97974 invoked by uid 500); 17 Dec 2009 17:36:53 -0000 Delivered-To: apmail-hadoop-zookeeper-commits-archive@hadoop.apache.org Received: (qmail 97933 invoked by uid 500); 17 Dec 2009 17:36:52 -0000 Mailing-List: contact zookeeper-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: zookeeper-dev@ Delivered-To: mailing list zookeeper-commits@hadoop.apache.org Received: (qmail 97923 invoked by uid 99); 17 Dec 2009 17:36:52 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 17 Dec 2009 17:36:52 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 17 Dec 2009 17:36:41 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 75A472388AB9; Thu, 17 Dec 2009 17:36:20 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r891809 - in /hadoop/zookeeper/trunk: ./ src/contrib/bookkeeper/src/java/org/apache/bookkeeper/util/ src/contrib/bookkeeper/test/org/apache/bookkeeper/test/ Date: Thu, 17 Dec 2009 17:36:20 -0000 To: zookeeper-commits@hadoop.apache.org From: breed@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20091217173620.75A472388AB9@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: breed Date: Thu Dec 17 17:36:19 2009 New Revision: 891809 URL: http://svn.apache.org/viewvc?rev=891809&view=rev Log: ZOOKEEPER-623. ClientBase in bookkeeper.util requires junit Removed: hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/util/ClientBase.java Modified: hadoop/zookeeper/trunk/CHANGES.txt hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/util/LocalBookKeeper.java hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/AsyncLedgerOpsTest.java hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/BookieFailureTest.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/CloseTest.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=891809&r1=891808&r2=891809&view=diff ============================================================================== --- hadoop/zookeeper/trunk/CHANGES.txt (original) +++ hadoop/zookeeper/trunk/CHANGES.txt Thu Dec 17 17:36:19 2009 @@ -182,6 +182,8 @@ ZOOKEEPER-534. The test target in contib/bookkeeper does not depend on jar target. (phunt via mahadev) + ZOOKEEPER-623. ClientBase in bookkeeper.util requires junit (fpj via breed) + IMPROVEMENTS: ZOOKEEPER-473. cleanup junit tests to eliminate false positives due to "socket reuse" and failure to close client (phunt via mahadev) Modified: hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/util/LocalBookKeeper.java URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/util/LocalBookKeeper.java?rev=891809&r1=891808&r2=891809&view=diff ============================================================================== --- hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/util/LocalBookKeeper.java (original) +++ hadoop/zookeeper/trunk/src/contrib/bookkeeper/src/java/org/apache/bookkeeper/util/LocalBookKeeper.java Thu Dec 17 17:36:19 2009 @@ -18,8 +18,12 @@ * limitations under the License. */ +import java.io.BufferedReader; import java.io.File; import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.Socket; import org.apache.bookkeeper.client.BookKeeper; import org.apache.bookkeeper.client.LedgerHandle; @@ -42,12 +46,13 @@ import org.apache.log4j.Logger; public class LocalBookKeeper { - Logger LOG = Logger.getLogger(LocalBookKeeper.class); + protected static final Logger LOG = Logger.getLogger(LocalBookKeeper.class); + public static final int CONNECTION_TIMEOUT = 30000; + ConsoleAppender ca; int numberOfBookies; public LocalBookKeeper() { - LOG = Logger.getRootLogger(); ca = new ConsoleAppender(new PatternLayout()); LOG.addAppender(ca); LOG.setLevel(Level.INFO); @@ -94,7 +99,7 @@ LOG.fatal("Exception while instantiating ZooKeeper", e); } - boolean b = ClientBase.waitForServerUp(HOSTPORT, ClientBase.CONNECTION_TIMEOUT); + boolean b = waitForServerUp(HOSTPORT, CONNECTION_TIMEOUT); LOG.debug("ZooKeeper server up: " + b); } @@ -160,5 +165,50 @@ class emptyWatcher implements Watcher{ public void process(WatchedEvent event) {} } + + public static boolean waitForServerUp(String hp, long timeout) { + long start = System.currentTimeMillis(); + String split[] = hp.split(":"); + String host = split[0]; + int port = Integer.parseInt(split[1]); + while (true) { + try { + Socket sock = new Socket(host, port); + BufferedReader reader = null; + try { + OutputStream outstream = sock.getOutputStream(); + outstream.write("stat".getBytes()); + outstream.flush(); + + reader = + new BufferedReader( + new InputStreamReader(sock.getInputStream())); + String line = reader.readLine(); + if (line != null && line.startsWith("Zookeeper version:")) { + LOG.info("Server UP"); + return true; + } + } finally { + sock.close(); + if (reader != null) { + reader.close(); + } + } + } catch (IOException e) { + // ignore as this is expected + LOG.info("server " + hp + " not up " + e); + } + + if (System.currentTimeMillis() > start + timeout) { + break; + } + try { + Thread.sleep(250); + } catch (InterruptedException e) { + // ignore + } + } + return false; + } } Modified: hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/AsyncLedgerOpsTest.java URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/AsyncLedgerOpsTest.java?rev=891809&r1=891808&r2=891809&view=diff ============================================================================== --- hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/AsyncLedgerOpsTest.java (original) +++ hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/AsyncLedgerOpsTest.java Thu Dec 17 17:36:19 2009 @@ -42,7 +42,7 @@ import org.apache.bookkeeper.proto.BookieServer; import org.apache.bookkeeper.streaming.LedgerInputStream; import org.apache.bookkeeper.streaming.LedgerOutputStream; -import org.apache.bookkeeper.util.ClientBase; + import org.apache.log4j.ConsoleAppender; import org.apache.log4j.Level; import org.apache.log4j.Logger; @@ -52,10 +52,11 @@ import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.ZooKeeper; +import org.apache.zookeeper.ZooDefs.Ids; import org.apache.zookeeper.server.NIOServerCnxn; import org.apache.zookeeper.server.ZooKeeperServer; +import org.apache.zookeeper.test.ClientBase; -import org.apache.zookeeper.ZooDefs.Ids; import org.junit.Test; //import BookieReadWriteTest.SyncObj; Modified: hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/BookieFailureTest.java URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/BookieFailureTest.java?rev=891809&r1=891808&r2=891809&view=diff ============================================================================== --- hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/BookieFailureTest.java (original) +++ hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/BookieFailureTest.java Thu Dec 17 17:36:19 2009 @@ -39,7 +39,7 @@ import org.apache.bookkeeper.proto.BookieServer; import org.apache.bookkeeper.streaming.LedgerInputStream; import org.apache.bookkeeper.streaming.LedgerOutputStream; -import org.apache.bookkeeper.util.ClientBase; + import org.apache.log4j.ConsoleAppender; import org.apache.log4j.Level; import org.apache.log4j.Logger; @@ -49,10 +49,11 @@ import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.ZooKeeper; +import org.apache.zookeeper.ZooDefs.Ids; import org.apache.zookeeper.server.NIOServerCnxn; import org.apache.zookeeper.server.ZooKeeperServer; +import org.apache.zookeeper.test.ClientBase; -import org.apache.zookeeper.ZooDefs.Ids; import org.junit.Test; /** 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=891809&r1=891808&r2=891809&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 Dec 17 17:36:19 2009 @@ -38,7 +38,7 @@ import org.apache.bookkeeper.proto.BookieServer; import org.apache.bookkeeper.streaming.LedgerInputStream; import org.apache.bookkeeper.streaming.LedgerOutputStream; -import org.apache.bookkeeper.util.ClientBase; + import org.apache.log4j.ConsoleAppender; import org.apache.log4j.Level; import org.apache.log4j.Logger; @@ -48,10 +48,11 @@ import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.ZooKeeper; +import org.apache.zookeeper.ZooDefs.Ids; import org.apache.zookeeper.server.NIOServerCnxn; import org.apache.zookeeper.server.ZooKeeperServer; +import org.apache.zookeeper.test.ClientBase; -import org.apache.zookeeper.ZooDefs.Ids; import org.junit.Test; /** Modified: hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/CloseTest.java URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/CloseTest.java?rev=891809&r1=891808&r2=891809&view=diff ============================================================================== --- hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/CloseTest.java (original) +++ hadoop/zookeeper/trunk/src/contrib/bookkeeper/test/org/apache/bookkeeper/test/CloseTest.java Thu Dec 17 17:36:19 2009 @@ -21,7 +21,7 @@ */ -import static org.apache.bookkeeper.util.ClientBase.CONNECTION_TIMEOUT; +import static org.apache.zookeeper.test.ClientBase.CONNECTION_TIMEOUT; import java.lang.InterruptedException; import java.io.File; @@ -35,19 +35,18 @@ import org.apache.bookkeeper.client.BookKeeper; import org.apache.bookkeeper.client.LedgerHandle; import org.apache.bookkeeper.proto.BookieServer; -import org.apache.bookkeeper.util.ClientBase; import org.apache.log4j.Logger; -import org.apache.zookeeper.server.NIOServerCnxn; -import org.apache.zookeeper.server.ZooKeeperServer; -import org.apache.zookeeper.server.ServerStats; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.ZooDefs.Ids; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.ZooKeeper; - +import org.apache.zookeeper.server.NIOServerCnxn; +import org.apache.zookeeper.server.ZooKeeperServer; +import org.apache.zookeeper.server.ServerStats; +import org.apache.zookeeper.test.ClientBase; /** * This unit test tests closing ledgers sequentially. 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=891809&r1=891808&r2=891809&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 Dec 17 17:36:19 2009 @@ -21,7 +21,7 @@ */ -import static org.apache.bookkeeper.util.ClientBase.CONNECTION_TIMEOUT; +import static org.apache.zookeeper.test.ClientBase.CONNECTION_TIMEOUT; import java.lang.InterruptedException; import java.io.File; @@ -35,19 +35,18 @@ import org.apache.bookkeeper.client.BookKeeper; import org.apache.bookkeeper.client.LedgerHandle; import org.apache.bookkeeper.proto.BookieServer; -import org.apache.bookkeeper.util.ClientBase; import org.apache.log4j.Logger; -import org.apache.zookeeper.server.NIOServerCnxn; -import org.apache.zookeeper.server.ZooKeeperServer; -import org.apache.zookeeper.server.ServerStats; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.ZooDefs.Ids; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.ZooKeeper; - +import org.apache.zookeeper.server.NIOServerCnxn; +import org.apache.zookeeper.server.ZooKeeperServer; +import org.apache.zookeeper.server.ServerStats; +import org.apache.zookeeper.test.ClientBase; /** * This unit test tests ledger recovery.