Author: apurtell
Date: Fri May 6 17:43:06 2011
New Revision: 1100300
URL: http://svn.apache.org/viewvc?rev=1100300&view=rev
Log:
HBASE-3861 MiniZooKeeperCluster should refer to maxClientCnxns
Modified:
hbase/branches/0.90/CHANGES.txt
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java
hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
hbase/branches/0.90/src/test/resources/hbase-site.xml
Modified: hbase/branches/0.90/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hbase/branches/0.90/CHANGES.txt?rev=1100300&r1=1100299&r2=1100300&view=diff
==============================================================================
--- hbase/branches/0.90/CHANGES.txt (original)
+++ hbase/branches/0.90/CHANGES.txt Fri May 6 17:43:06 2011
@@ -41,6 +41,8 @@ Release 0.90.3 - Unreleased
HBASE-3821 "NOT flushing memstore for region" keep on printing for half
an hour (zhoushuaifeng)
HBASE-3848 request is always zero in WebUI for region server (gaojinchao)
+ HBASE-3861 MiniZooKeeperCluster should refer to maxClientCnxns (Eugene
+ Koontz via Andrew Purtell)
IMPROVEMENT
HBASE-3717 deprecate HTable isTableEnabled() methods in favor of HBaseAdmin
Modified:
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java
URL:
http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java?rev=1100300&r1=1100299&r2=1100300&view=diff
==============================================================================
---
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java
(original)
+++
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java
Fri May 6 17:43:06 2011
@@ -31,7 +31,9 @@ import java.net.Socket;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileUtil;
+import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.zookeeper.server.NIOServerCnxn;
import org.apache.zookeeper.server.ZooKeeperServer;
import org.apache.zookeeper.server.persistence.FileTxnLog;
@@ -53,9 +55,17 @@ public class MiniZooKeeperCluster {
private NIOServerCnxn.Factory standaloneServerFactory;
private int tickTime = 0;
+ private Configuration configuration;
+
/** Create mini ZooKeeper cluster. */
public MiniZooKeeperCluster() {
+ this(HBaseConfiguration.create());
+ }
+
+ /** Create mini ZooKeeper cluster with configuration (usually from test
environment) */
+ public MiniZooKeeperCluster(Configuration configuration) {
this.started = false;
+ this.configuration = configuration;
}
public void setClientPort(int clientPort) {
@@ -105,8 +115,9 @@ public class MiniZooKeeperCluster {
ZooKeeperServer server = new ZooKeeperServer(dir, dir, tickTimeToUse);
while (true) {
try {
+ int numberOfConnections =
this.configuration.getInt("hbase.zookeeper.property.maxClientCnxns",5000);
standaloneServerFactory =
- new NIOServerCnxn.Factory(new InetSocketAddress(clientPort));
+ new NIOServerCnxn.Factory(new InetSocketAddress(clientPort),
numberOfConnections);
} catch (BindException e) {
LOG.info("Failed binding ZK Server to client port: " + clientPort);
//this port is already in use. try to use another
Modified:
hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
URL:
http://svn.apache.org/viewvc/hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java?rev=1100300&r1=1100299&r2=1100300&view=diff
==============================================================================
---
hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
(original)
+++
hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
Fri May 6 17:43:06 2011
@@ -260,7 +260,7 @@ public class HBaseTestingUtility {
if (this.zkCluster != null) {
throw new IOException("Cluster already running at " + dir);
}
- this.zkCluster = new MiniZooKeeperCluster();
+ this.zkCluster = new MiniZooKeeperCluster(this.getConfiguration());
int clientPort = this.zkCluster.startup(dir);
this.conf.set("hbase.zookeeper.property.clientPort",
Integer.toString(clientPort));
Modified: hbase/branches/0.90/src/test/resources/hbase-site.xml
URL:
http://svn.apache.org/viewvc/hbase/branches/0.90/src/test/resources/hbase-site.xml?rev=1100300&r1=1100299&r2=1100300&view=diff
==============================================================================
--- hbase/branches/0.90/src/test/resources/hbase-site.xml (original)
+++ hbase/branches/0.90/src/test/resources/hbase-site.xml Fri May 6 17:43:06
2011
@@ -133,4 +133,14 @@
The port at which the clients will connect.
</description>
</property>
+ <property>
+ <name>hbase.zookeeper.property.maxClientCnxns</name>
+ <value>5000</value>
+ <description>Property from ZooKeeper's config zoo.cfg.
+ Limit on number of concurrent connections (at the socket level) that a
+ single client, identified by IP address, may make to a single member of
+ the ZooKeeper ensemble. Set high to avoid zk connection issues running
+ standalone and pseudo-distributed.
+ </description>
+ </property>
</configuration>