diff --git bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java
index d1427b7..90e2374 100644
--- bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java
+++ bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/FileSystemUpgrade.java
@@ -157,4 +157,4 @@ public class FileSystemUpgrade {
             throw new IllegalArgumentException(err);
         }
     }
-}
\ No newline at end of file
+}
diff --git bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java
index 56942c2..a37e2bd 100644
--- bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java
+++ bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/JournalChannel.java
@@ -154,4 +154,4 @@ class JournalChannel {
     void close() throws IOException {
         fc.close();
     }
-}
\ No newline at end of file
+}
diff --git bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ClientConfiguration.java bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ClientConfiguration.java
index c9ba812..beac22f 100644
--- bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ClientConfiguration.java
+++ bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ClientConfiguration.java
@@ -179,7 +179,7 @@ public class ClientConfiguration extends AbstractConfiguration {
      * @return zookeeper servers
      */
     public String getZkServers() {
-        return getString(ZK_SERVERS, "localhost");
+        return getString(ZK_SERVERS, "127.0.0.1");
     }
 
     /**
diff --git bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServerBean.java bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServerBean.java
index b222395..557121d 100644
--- bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServerBean.java
+++ bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieServerBean.java
@@ -83,7 +83,7 @@ public class BookieServerBean implements BookieServerMXBean, BKMBeanInfo {
             return InetAddress.getLocalHost().getHostAddress() + ":"
                     + conf.getBookiePort();
         } catch (UnknownHostException e) {
-            return "localhost:" + conf.getBookiePort();
+            return "127.0.0.1:" + conf.getBookiePort();
         }
     }
 
diff --git bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java
index eb08479..a4206b1 100644
--- bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java
+++ bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/UpgradeTest.java
@@ -112,4 +112,4 @@ public class UpgradeTest {
             System.setErr(origerr);
         }
     }
-}
\ No newline at end of file
+}
diff --git bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ClientUtil.java bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ClientUtil.java
index d4b6288..f98a43b 100644
--- bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ClientUtil.java
+++ bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ClientUtil.java
@@ -27,4 +27,4 @@ public class ClientUtil {
         return dm.computeDigestAndPackageForSending(entryId, lastAddConfirmed, length,
                                                     data, 0, data.length);
     }
-}
\ No newline at end of file
+}
diff --git bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/HierarchicalBookieReadWriteTest.java bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/HierarchicalBookieReadWriteTest.java
index 7d97fd4..f762d0d 100644
--- bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/HierarchicalBookieReadWriteTest.java
+++ bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/HierarchicalBookieReadWriteTest.java
@@ -44,4 +44,4 @@ public class HierarchicalBookieReadWriteTest extends BookieReadWriteTest {
        super.setUp();
    }
 
-}
\ No newline at end of file
+}
diff --git bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/TestLedgerManager.java bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/TestLedgerManager.java
index 099eb7c..16a4368 100644
--- bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/TestLedgerManager.java
+++ bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/TestLedgerManager.java
@@ -258,4 +258,4 @@ public class TestLedgerManager extends BaseTestCase {
         assertEquals("Incorrect number of successes", numThreadsEach, numSuccess);
         assertEquals("Incorrect number of failures", numThreadsEach, numFails);
     }
-}
\ No newline at end of file
+}
diff --git bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/TestProtoVersions.java bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/TestProtoVersions.java
index 717d99c..91a08c0 100644
--- bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/TestProtoVersions.java
+++ bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/TestProtoVersions.java
@@ -110,4 +110,4 @@ public class TestProtoVersions {
         testVersion(BookieProtocol.CURRENT_PROTOCOL_VERSION, BKException.Code.NoSuchEntryException);
         testVersion(BookieProtocol.CURRENT_PROTOCOL_VERSION+1, BKException.Code.ProtocolVersionException);
     }
-}
\ No newline at end of file
+}
diff --git hedwig-client/src/main/java/org/apache/hedwig/client/HedwigClient.java hedwig-client/src/main/java/org/apache/hedwig/client/HedwigClient.java
index 4092a47..40f9611 100644
--- hedwig-client/src/main/java/org/apache/hedwig/client/HedwigClient.java
+++ hedwig-client/src/main/java/org/apache/hedwig/client/HedwigClient.java
@@ -69,4 +69,4 @@ public class HedwigClient implements Client {
     public void close() {
         impl.close();
     }
-}
\ No newline at end of file
+}
diff --git hedwig-client/src/main/java/org/apache/hedwig/client/api/Client.java hedwig-client/src/main/java/org/apache/hedwig/client/api/Client.java
index 891148f..475f15b 100644
--- hedwig-client/src/main/java/org/apache/hedwig/client/api/Client.java
+++ hedwig-client/src/main/java/org/apache/hedwig/client/api/Client.java
@@ -39,4 +39,4 @@ public interface Client {
      * Close the client and free all associated resources.
      */
     public void close();
-}
\ No newline at end of file
+}
diff --git hedwig-client/src/main/java/org/apache/hedwig/client/conf/ClientConfiguration.java hedwig-client/src/main/java/org/apache/hedwig/client/conf/ClientConfiguration.java
index 66e049f..41223aa 100644
--- hedwig-client/src/main/java/org/apache/hedwig/client/conf/ClientConfiguration.java
+++ hedwig-client/src/main/java/org/apache/hedwig/client/conf/ClientConfiguration.java
@@ -51,7 +51,7 @@ public class ClientConfiguration extends AbstractConfiguration {
     // encapsulates both the regular and SSL port connection to the server host.
     protected HedwigSocketAddress getDefaultServerHedwigSocketAddress() {
         if (myDefaultServerAddress == null)
-            myDefaultServerAddress = new HedwigSocketAddress(conf.getString(DEFAULT_SERVER_HOST, "localhost:4080:9876"));
+            myDefaultServerAddress = new HedwigSocketAddress(conf.getString(DEFAULT_SERVER_HOST, "127.0.0.1:4080:9876"));
         return myDefaultServerAddress;
     }
 
diff --git hedwig-client/src/main/java/org/apache/hedwig/client/netty/ConnectCallback.java hedwig-client/src/main/java/org/apache/hedwig/client/netty/ConnectCallback.java
index f5077b0..b8a302b 100644
--- hedwig-client/src/main/java/org/apache/hedwig/client/netty/ConnectCallback.java
+++ hedwig-client/src/main/java/org/apache/hedwig/client/netty/ConnectCallback.java
@@ -58,8 +58,10 @@ public class ConnectCallback implements ChannelFutureListener {
     public void operationComplete(ChannelFuture future) throws Exception {
         // If the client has stopped, there is no need to proceed with any
         // callback logic here.
-        if (client.hasStopped())
+        if (client.hasStopped()) {
+            System.out.println("FuckSticks!!!!");
             return;
+        }
 
         // Check if the connection to the server was done successfully.
         if (!future.isSuccess()) {
@@ -116,6 +118,7 @@ public class ConnectCallback implements ChannelFutureListener {
             // receive a successful server ack response to the Subscribe
             // request (handled in ResponseHandler). There is no need to store
             // the Unsubscribe channel connection as we won't use it again.
+            logger.debug("IKDEBUG Connected channel {} topic {}", future.getChannel().getId(), pubSubData.topic.toString());
             sub.doSubUnsub(pubSubData, future.getChannel());
         }
     }
diff --git hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigSubscriber.java hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigSubscriber.java
index 5fb1d88..47ffc26 100644
--- hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigSubscriber.java
+++ hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigSubscriber.java
@@ -543,6 +543,8 @@ public class HedwigSubscriber implements Subscriber {
         if (topicSubscriber2Channel.containsKey(topicSubscriber)) {
             // Remove all cached references for the TopicSubscriber
             Channel channel = topicSubscriber2Channel.get(topicSubscriber);
+            logger.debug("IKDEBUG Closing channel {} topic {}", channel.getId(), topic.toString());
+
             topicSubscriber2Channel.remove(topicSubscriber);
             // Close the subscribe channel asynchronously.
             HedwigClientImpl.getResponseHandlerFromChannel(channel).channelClosedExplicitly = true;
diff --git hedwig-client/src/main/java/org/apache/hedwig/client/netty/WriteCallback.java hedwig-client/src/main/java/org/apache/hedwig/client/netty/WriteCallback.java
index a8552f4..63ab235 100644
--- hedwig-client/src/main/java/org/apache/hedwig/client/netty/WriteCallback.java
+++ hedwig-client/src/main/java/org/apache/hedwig/client/netty/WriteCallback.java
@@ -58,6 +58,7 @@ public class WriteCallback implements ChannelFutureListener {
         // if it was successful or not.
         InetSocketAddress host = HedwigClientImpl.getHostFromChannel(future.getChannel());
         if (!future.isSuccess()) {
+            System.out.println("Another failure point");
             logger.error("Error writing on channel to host: " + host);
             // On a write failure for a PubSubRequest, we also want to remove
             // the saved txnId to PubSubData in the ResponseHandler. These
diff --git hedwig-client/src/test/java/org/apache/hedwig/util/TestHedwigSocketAddress.java hedwig-client/src/test/java/org/apache/hedwig/util/TestHedwigSocketAddress.java
index c8858c8..442f9f1 100644
--- hedwig-client/src/test/java/org/apache/hedwig/util/TestHedwigSocketAddress.java
+++ hedwig-client/src/test/java/org/apache/hedwig/util/TestHedwigSocketAddress.java
@@ -26,7 +26,7 @@ import org.junit.Test;
 public class TestHedwigSocketAddress extends TestCase {
 
     // Common values used by tests
-    private String hostname = "localhost";
+    private String hostname = "127.0.0.1";
     private int port = 4080;
     private int sslPort = 9876;
     private int invalidPort = -9999;
diff --git hedwig-server/src/main/java/org/apache/hedwig/server/common/ServerConfiguration.java hedwig-server/src/main/java/org/apache/hedwig/server/common/ServerConfiguration.java
index 791c704..4007f46 100644
--- hedwig-server/src/main/java/org/apache/hedwig/server/common/ServerConfiguration.java
+++ hedwig-server/src/main/java/org/apache/hedwig/server/common/ServerConfiguration.java
@@ -173,7 +173,7 @@ public class ServerConfiguration extends AbstractConfiguration {
     }
 
     public String getZkHost() {
-        return conf.getString(ZK_HOST, "localhost");
+        return conf.getString(ZK_HOST, "127.0.0.1");
     }
 
     public int getZkTimeout() {
diff --git hedwig-server/src/test/java/org/apache/hedwig/server/HedwigRegionTestBase.java hedwig-server/src/test/java/org/apache/hedwig/server/HedwigRegionTestBase.java
index 2252f43..33ed8b5 100644
--- hedwig-server/src/test/java/org/apache/hedwig/server/HedwigRegionTestBase.java
+++ hedwig-server/src/test/java/org/apache/hedwig/server/HedwigRegionTestBase.java
@@ -94,7 +94,7 @@ public abstract class HedwigRegionTestBase extends TestCase {
                 // other than its own.
                 if (curDefaultServerPort > serverPort
                         || Math.abs(serverPort - curDefaultServerPort) >= numServersPerRegion)
-                    myRegionList.add("localhost:" + curDefaultServerPort + ":" + curDefaultSSLServerPort);
+                    myRegionList.add("127.0.0.1:" + curDefaultServerPort + ":" + curDefaultSSLServerPort);
             }
             regionList = myRegionList;
         }
@@ -153,7 +153,7 @@ public abstract class HedwigRegionTestBase extends TestCase {
     // to.
     protected class RegionClientConfiguration extends ClientConfiguration {
         public RegionClientConfiguration(int serverPort, int sslServerPort) {
-            myDefaultServerAddress = new HedwigSocketAddress("localhost:" + serverPort + ":" + sslServerPort);
+            myDefaultServerAddress = new HedwigSocketAddress("127.0.0.1:" + serverPort + ":" + sslServerPort);
         }
         // Below you can override any of the default ClientConfiguration
         // parameters if needed.
diff --git hedwig-server/src/test/java/org/apache/hedwig/server/TestPubSubServerStartup.java hedwig-server/src/test/java/org/apache/hedwig/server/TestPubSubServerStartup.java
index 65e2bd2..8d82ad3 100644
--- hedwig-server/src/test/java/org/apache/hedwig/server/TestPubSubServerStartup.java
+++ hedwig-server/src/test/java/org/apache/hedwig/server/TestPubSubServerStartup.java
@@ -62,7 +62,7 @@ public class TestPubSubServerStartup {
 
     private void instantiateAndDestroyPubSubServer() throws IOException, InterruptedException, ConfigurationException,
         MalformedURLException, Exception {
-        String hedwigParams = "default_server_host=localhost:4080\n" + "zookeeper_connection_string=localhost:2181\n"
+        String hedwigParams = "default_server_host=127.0.0.1:4080\n" + "zookeeper_connection_string=127.0.0.1:2181\n"
                               + "zk_timeout=2000\n";
 
         File hedwigConfigFile = new File(System.getProperty("java.io.tmpdir") + "/hedwig.cfg");
@@ -108,7 +108,7 @@ public class TestPubSubServerStartup {
 
         zkTmpDir.delete();
 
-        ClientBase.waitForServerDown("localhost:2181", 10000);
+        ClientBase.waitForServerDown("127.0.0.1:2181", 10000);
 
     }
 
diff --git hedwig-server/src/test/java/org/apache/hedwig/server/netty/TestPubSubServer.java hedwig-server/src/test/java/org/apache/hedwig/server/netty/TestPubSubServer.java
index a11921e..01c8156 100644
--- hedwig-server/src/test/java/org/apache/hedwig/server/netty/TestPubSubServer.java
+++ hedwig-server/src/test/java/org/apache/hedwig/server/netty/TestPubSubServer.java
@@ -100,7 +100,7 @@ public class TestPubSubServer extends PubSubServerStandAloneTestBase {
         Publisher publisher = new HedwigClient(new ClientConfiguration() {
             @Override
             public InetSocketAddress getDefaultServerHost() {
-                return new InetSocketAddress("localhost", port);
+                return new InetSocketAddress("127.0.0.1", port);
             }
         }).getPublisher();
 
diff --git hedwig-server/src/test/java/org/apache/hedwig/server/netty/WriteRecordingChannel.java hedwig-server/src/test/java/org/apache/hedwig/server/netty/WriteRecordingChannel.java
index 7ea9aff..d69b2cf 100644
--- hedwig-server/src/test/java/org/apache/hedwig/server/netty/WriteRecordingChannel.java
+++ hedwig-server/src/test/java/org/apache/hedwig/server/netty/WriteRecordingChannel.java
@@ -93,7 +93,7 @@ public class WriteRecordingChannel implements Channel {
 
     @Override
     public SocketAddress getLocalAddress() {
-        return new InetSocketAddress("localhost", 1234);
+        return new InetSocketAddress("127.0.0.1", 1234);
     }
 
     @Override
diff --git hedwig-server/src/test/java/org/apache/hedwig/server/topics/TestConcurrentTopicAcquisition.java hedwig-server/src/test/java/org/apache/hedwig/server/topics/TestConcurrentTopicAcquisition.java
index 956d31c..13817bf 100644
--- hedwig-server/src/test/java/org/apache/hedwig/server/topics/TestConcurrentTopicAcquisition.java
+++ hedwig-server/src/test/java/org/apache/hedwig/server/topics/TestConcurrentTopicAcquisition.java
@@ -201,6 +201,10 @@ public class TestConcurrentTopicAcquisition extends HedwigHubTestBase {
         
         // hope that all the subscriptions will be OK
         queue.take();
+
+        for (int i = 0; i < numSubscribers; i++) {
+            subscriber.closeSubscription(topic, ByteString.copyFromUtf8("sub-" + i));
+        }
     }
 
 }
diff --git hedwig-server/src/test/resources/log4j.properties hedwig-server/src/test/resources/log4j.properties
index e00e286..fbb0e3b 100644
--- hedwig-server/src/test/resources/log4j.properties
+++ hedwig-server/src/test/resources/log4j.properties
@@ -26,7 +26,7 @@
 # Format is "<default threshold> (, <appender>)+
 
 # DEFAULT: console appender only
-log4j.rootLogger=OFF, CONSOLE
+log4j.rootLogger=INFO, ROLLINGFILE
 
 # Example with rolling log file
 #log4j.rootLogger=DEBUG, CONSOLE, ROLLINGFILE
@@ -38,10 +38,12 @@ log4j.rootLogger=OFF, CONSOLE
 # Log INFO level and above messages to the console
 #
 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.Threshold=INFO
+log4j.appender.CONSOLE.Threshold=DEBUG
 log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
 log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} - %-5p - [%t:%C{1}@%L] - %m%n
 
+log4j.logger.org.apache.hedwig.client.netty.ConnectCallback=DEBUG
+log4j.logger.org.apache.hedwig.client.netty.HedwigSubscriber=DEBUG
 #
 # Add ROLLINGFILE to rootLogger to get log file output
 #    Log DEBUG level and above messages to a log file
