eagle-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From h..@apache.org
Subject [2/2] incubator-eagle git commit: [EAGLE-737] Fix eagle-embed checkstyle warnings
Date Wed, 09 Nov 2016 13:59:05 GMT
[EAGLE-737] Fix eagle-embed checkstyle warnings

[EAGLE-737]Fix eagle-embed checkstyle warnings

https://issues.apache.org/jira/browse/EAGLE-737

Author: koone <luokun1028@126.com>

Closes #634 from koone/EAGLE-737.


Project: http://git-wip-us.apache.org/repos/asf/incubator-eagle/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-eagle/commit/a88e1cef
Tree: http://git-wip-us.apache.org/repos/asf/incubator-eagle/tree/a88e1cef
Diff: http://git-wip-us.apache.org/repos/asf/incubator-eagle/diff/a88e1cef

Branch: refs/heads/master
Commit: a88e1cef80b3f9c6e896d5948154cd5b5b37d643
Parents: 2b61cef
Author: koone <luokun1028@126.com>
Authored: Wed Nov 9 21:58:55 2016 +0800
Committer: Hao Chen <hao@apache.org>
Committed: Wed Nov 9 21:58:55 2016 +0800

----------------------------------------------------------------------
 .../eagle/service/hbase/EmbeddedHbase.java      |   30 +-
 .../org/apache/eagle/service/hbase/Tables.java  |    2 +-
 .../src/main/resources/hbase-default.xml        | 1809 +++++++++---------
 .../eagle/service/hbase/TestHBaseBase.java      |   10 +-
 .../embedded/tomcat/TestEmbeddedServer.java     |   12 +-
 eagle-core/eagle-embed/pom.xml                  |   12 +
 6 files changed, 947 insertions(+), 928 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/a88e1cef/eagle-core/eagle-embed/eagle-embed-hbase/src/main/java/org/apache/eagle/service/hbase/EmbeddedHbase.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-embed/eagle-embed-hbase/src/main/java/org/apache/eagle/service/hbase/EmbeddedHbase.java b/eagle-core/eagle-embed/eagle-embed-hbase/src/main/java/org/apache/eagle/service/hbase/EmbeddedHbase.java
index be614d3..84661e9 100644
--- a/eagle-core/eagle-embed/eagle-embed-hbase/src/main/java/org/apache/eagle/service/hbase/EmbeddedHbase.java
+++ b/eagle-core/eagle-embed/eagle-embed-hbase/src/main/java/org/apache/eagle/service/hbase/EmbeddedHbase.java
@@ -27,21 +27,21 @@ public class EmbeddedHbase {
     private HBaseTestingUtility util;
     private MiniHBaseCluster hbaseCluster;
     private static EmbeddedHbase hbase;
-    private int port;    
+    private int port;
     private String znode;
     private static int DEFAULT_PORT = 2181;
     private static String DEFAULT_ZNODE = "/hbase-unsecure";
     private static final Logger LOG = LoggerFactory.getLogger(EmbeddedHbase.class);
-    
+
     private EmbeddedHbase(int port, String znode) {
         this.port = port;
         this.znode = znode;
     }
-    
+
     private EmbeddedHbase(int port) {
         this(port, DEFAULT_ZNODE);
     }
-    
+
     public static EmbeddedHbase getInstance(Configuration conf) {
         if (hbase == null) {
             synchronized (EmbeddedHbase.class) {
@@ -55,7 +55,7 @@ public class EmbeddedHbase {
     }
 
     public static EmbeddedHbase getInstance() {
-        return  getInstance(null);
+        return getInstance(null);
     }
 
     private EmbeddedHbase() {
@@ -70,7 +70,7 @@ public class EmbeddedHbase {
         try {
             util = new HBaseTestingUtility();
             Configuration conf = util.getConfiguration();
-            if(confMap != null) {
+            if (confMap != null) {
                 conf.addResource(confMap);
             }
             conf.setInt("test.hbase.zookeeper.property.clientPort", port);
@@ -81,29 +81,29 @@ public class EmbeddedHbase {
             // start mini hbase cluster
             hbaseCluster = util.startMiniCluster();
             Configuration config = hbaseCluster.getConf();
-            
+
             config.set("zookeeper.session.timeout", "120000");
             config.set("hbase.zookeeper.property.tickTime", "6000");
             config.set(HConstants.HBASE_CLIENT_PAUSE, "3000");
             config.set(HConstants.HBASE_CLIENT_RETRIES_NUMBER, "1");
             config.set(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, "60000");
-            
+
             Runtime.getRuntime().addShutdownHook(new Thread() {
                 @Override
                 public void run() {
                     shutdown();
                 }
-            }); 
+            });
         } catch (Throwable t) {
-            LOG.error("Got an exception: ",t);
+            LOG.error("Got an exception: ", t);
         }
     }
 
-    public void shutdown() {        
+    public void shutdown() {
         try {
             util.shutdownMiniCluster();
         } catch (Throwable t) {
-            LOG.info("Got an exception, " + t , t.getCause());
+            LOG.info("Got an exception, " + t, t.getCause());
             try {
                 util.shutdownMiniCluster();
             } catch (Throwable t1) {
@@ -111,15 +111,15 @@ public class EmbeddedHbase {
             }
         }
     }
-    
+
     public void createTable(String tableName, String cf) {
-        try {            
+        try {
             util.createTable(tableName, cf);
         } catch (Exception ex) {
             LOG.warn("Create table failed, probably table already existed, table name: " + tableName);
         }
     }
-    
+
     public void deleteTable(String tableName) {
         try {
             util.deleteTable(tableName);

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/a88e1cef/eagle-core/eagle-embed/eagle-embed-hbase/src/main/java/org/apache/eagle/service/hbase/Tables.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-embed/eagle-embed-hbase/src/main/java/org/apache/eagle/service/hbase/Tables.java b/eagle-core/eagle-embed/eagle-embed-hbase/src/main/java/org/apache/eagle/service/hbase/Tables.java
index b659beb..a26e95e 100644
--- a/eagle-core/eagle-embed/eagle-embed-hbase/src/main/java/org/apache/eagle/service/hbase/Tables.java
+++ b/eagle-core/eagle-embed/eagle-embed-hbase/src/main/java/org/apache/eagle/service/hbase/Tables.java
@@ -46,7 +46,7 @@ public class Tables {
         tables.add("userprofile");
     }
 
-    public List<String> getTables(){
+    public List<String> getTables() {
         return this.tables;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/a88e1cef/eagle-core/eagle-embed/eagle-embed-hbase/src/main/resources/hbase-default.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-embed/eagle-embed-hbase/src/main/resources/hbase-default.xml b/eagle-core/eagle-embed/eagle-embed-hbase/src/main/resources/hbase-default.xml
index 62cdff1..babf844 100644
--- a/eagle-core/eagle-embed/eagle-embed-hbase/src/main/resources/hbase-default.xml
+++ b/eagle-core/eagle-embed/eagle-embed-hbase/src/main/resources/hbase-default.xml
@@ -20,916 +20,921 @@
  */
 -->
 <configuration>
-  <property>
-    <name>hbase.rootdir</name>
-    <value>file:///tmp/hbase-${user.name}/hbase</value>
-    <description>The directory shared by region servers and into
-      which HBase persists.  The URL should be 'fully-qualified'
-      to include the filesystem scheme.  For example, to specify the
-      HDFS directory '/hbase' where the HDFS instance's namenode is
-      running at namenode.example.org on port 9000, set this value to:
-      hdfs://namenode.example.org:9000/hbase.  By default HBase writes
-      into /tmp.  Change this configuration else all data will be lost
-      on machine restart.
-    </description>
-  </property>
-  <property>
-    <name>hbase.master.port</name>
-    <value>60000</value>
-    <description>The port the HBase Master should bind to.</description>
-  </property>
-  <property>
-    <name>hbase.cluster.distributed</name>
-    <value>false</value>
-    <description>The mode the cluster will be in. Possible values are
-      false for standalone mode and true for distributed mode.  If
-      false, startup will run all HBase and ZooKeeper daemons together
-      in the one JVM.
-    </description>
-  </property>
-  <property>
-    <name>hbase.tmp.dir</name>
-    <value>/tmp/hbase-${user.name}</value>
-    <description>Temporary directory on the local filesystem.
-      Change this setting to point to a location more permanent
-      than '/tmp' (The '/tmp' directory is often cleared on
-      machine restart).
-    </description>
-  </property>
-  <property>
-    <name>hbase.master.info.port</name>
-    <value>60010</value>
-    <description>The port for the HBase Master web UI.
-      Set to -1 if you do not want a UI instance run.
-    </description>
-  </property>
-  <property>
-    <name>hbase.master.info.bindAddress</name>
-    <value>0.0.0.0</value>
-    <description>The bind address for the HBase Master web UI
-    </description>
-  </property>
-  <property>
-    <name>hbase.client.write.buffer</name>
-    <value>2097152</value>
-    <description>Default size of the HTable clien write buffer in bytes.
-      A bigger buffer takes more memory -- on both the client and server
-      side since server instantiates the passed write buffer to process
-      it -- but a larger buffer size reduces the number of RPCs made.
-      For an estimate of server-side memory-used, evaluate
-      hbase.client.write.buffer * hbase.regionserver.handler.count
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.port</name>
-    <value>60020</value>
-    <description>The port the HBase RegionServer binds to.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.info.port</name>
-    <value>60030</value>
-    <description>The port for the HBase RegionServer web UI
-      Set to -1 if you do not want the RegionServer UI to run.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.info.port.auto</name>
-    <value>false</value>
-    <description>Whether or not the Master or RegionServer
-      UI should search for a port to bind to. Enables automatic port
-      search if hbase.regionserver.info.port is already in use.
-      Useful for testing, turned off by default.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.info.bindAddress</name>
-    <value>0.0.0.0</value>
-    <description>The address for the HBase RegionServer web UI
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.class</name>
-    <value>org.apache.hadoop.hbase.ipc.HRegionInterface</value>
-    <description>The RegionServer interface to use.
-      Used by the client opening proxy to remote region server.
-    </description>
-  </property>
-  <property>
-    <name>hbase.client.pause</name>
-    <value>1000</value>
-    <description>General client pause value.  Used mostly as value to wait
-      before running a retry of a failed get, region lookup, etc.</description>
-  </property>
-  <property>
-    <name>hbase.client.retries.number</name>
-    <value>10</value>
-    <description>Maximum retries.  Used as maximum for all retryable
-      operations such as fetching of the root region from root region
-      server, getting a cell's value, starting a row update, etc.
-      Default: 10.
-    </description>
-  </property>
-  <property>
-    <name>hbase.bulkload.retries.number</name>
-    <value>0</value>
-    <description>Maximum retries.  This is maximum number of iterations
-      to atomic bulk loads are attempted in the face of splitting operations
-      0 means never give up.  Default: 0.
-    </description>
-  </property>
-  <property>
-    <name>hbase.client.scanner.caching</name>
-    <value>1</value>
-    <description>Number of rows that will be fetched when calling next
-      on a scanner if it is not served from (local, client) memory. Higher
-      caching values will enable faster scanners but will eat up more memory
-      and some calls of next may take longer and longer times when the cache is empty.
-      Do not set this value such that the time between invocations is greater
-      than the scanner timeout; i.e. hbase.regionserver.lease.period
-    </description>
-  </property>
-  <property>
-    <name>hbase.client.keyvalue.maxsize</name>
-    <value>10485760</value>
-    <description>Specifies the combined maximum allowed size of a KeyValue
-      instance. This is to set an upper boundary for a single entry saved in a
-      storage file. Since they cannot be split it helps avoiding that a region
-      cannot be split any further because the data is too large. It seems wise
-      to set this to a fraction of the maximum region size. Setting it to zero
-      or less disables the check.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.lease.period</name>
-    <value>60000</value>
-    <description>HRegion server lease period in milliseconds. Default is
-      60 seconds. Clients must report in within this period else they are
-      considered dead.</description>
-  </property>
-  <property>
-    <name>hbase.regionserver.handler.count</name>
-    <value>10</value>
-    <description>Count of RPC Listener instances spun up on RegionServers.
-      Same property is used by the Master for count of master handlers.
-      Default is 10.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.msginterval</name>
-    <value>3000</value>
-    <description>Interval between messages from the RegionServer to Master
-      in milliseconds.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.optionallogflushinterval</name>
-    <value>1000</value>
-    <description>Sync the HLog to the HDFS after this interval if it has not
-      accumulated enough entries to trigger a sync. Default 1 second. Units:
-      milliseconds.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.regionSplitLimit</name>
-    <value>2147483647</value>
-    <description>Limit for the number of regions after which no more region
-      splitting should take place. This is not a hard limit for the number of
-      regions but acts as a guideline for the regionserver to stop splitting after
-      a certain limit. Default is set to MAX_INT; i.e. do not block splitting.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.logroll.period</name>
-    <value>3600000</value>
-    <description>Period at which we will roll the commit log regardless
-      of how many edits it has.</description>
-  </property>
-  <property>
-    <name>hbase.regionserver.logroll.errors.tolerated</name>
-    <value>2</value>
-    <description>The number of consecutive WAL close errors we will allow
-      before triggering a server abort.  A setting of 0 will cause the
-      region server to abort if closing the current WAL writer fails during
-      log rolling.  Even a small value (2 or 3) will allow a region server
-      to ride over transient HDFS errors.</description>
-  </property>
-  <property>
-    <name>hbase.regionserver.hlog.reader.impl</name>
-    <value>org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogReader</value>
-    <description>The HLog file reader implementation.</description>
-  </property>
-  <property>
-    <name>hbase.regionserver.hlog.writer.impl</name>
-    <value>org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogWriter</value>
-    <description>The HLog file writer implementation.</description>
-  </property>
-  <property>
-    <name>hbase.regionserver.nbreservationblocks</name>
-    <value>4</value>
-    <description>The number of resevoir blocks of memory release on
-      OOME so we can cleanup properly before server shutdown.
-    </description>
-  </property>
-  <property>
-    <name>hbase.zookeeper.dns.interface</name>
-    <value>default</value>
-    <description>The name of the Network Interface from which a ZooKeeper server
-      should report its IP address.
-    </description>
-  </property>
-  <property>
-    <name>hbase.zookeeper.dns.nameserver</name>
-    <value>default</value>
-    <description>The host name or IP address of the name server (DNS)
-      which a ZooKeeper server should use to determine the host name used by the
-      master for communication and display purposes.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.dns.interface</name>
-    <value>default</value>
-    <description>The name of the Network Interface from which a region server
-      should report its IP address.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.dns.nameserver</name>
-    <value>default</value>
-    <description>The host name or IP address of the name server (DNS)
-      which a region server should use to determine the host name used by the
-      master for communication and display purposes.
-    </description>
-  </property>
-  <property>
-    <name>hbase.master.dns.interface</name>
-    <value>default</value>
-    <description>The name of the Network Interface from which a master
-      should report its IP address.
-    </description>
-  </property>
-  <property>
-    <name>hbase.master.dns.nameserver</name>
-    <value>default</value>
-    <description>The host name or IP address of the name server (DNS)
-      which a master should use to determine the host name used
-      for communication and display purposes.
-    </description>
-  </property>
-  <property>
-    <name>hbase.balancer.period
-    </name>
-    <value>300000</value>
-    <description>Period at which the region balancer runs in the Master.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regions.slop</name>
-    <value>0.2</value>
-    <description>Rebalance if any regionserver has average + (average * slop) regions.
-      Default is 20% slop.
-    </description>
-  </property>
-  <property>
-    <name>hbase.master.logcleaner.ttl</name>
-    <value>600000</value>
-    <description>Maximum time a HLog can stay in the .oldlogdir directory,
-      after which it will be cleaned by a Master thread.
-    </description>
-  </property>
-  <property>
-    <name>hbase.master.logcleaner.plugins</name>
-    <value>org.apache.hadoop.hbase.master.cleaner.TimeToLiveLogCleaner</value>
-    <description>A comma-separated list of LogCleanerDelegate invoked by
-      the LogsCleaner service. These WAL/HLog cleaners are called in order,
-      so put the HLog cleaner that prunes the most HLog files in front. To
-      implement your own LogCleanerDelegate, just put it in HBase's classpath
-      and add the fully qualified class name here. Always add the above
-      default log cleaners in the list.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.global.memstore.upperLimit</name>
-    <value>0.4</value>
-    <description>Maximum size of all memstores in a region server before new
-      updates are blocked and flushes are forced. Defaults to 40% of heap
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.global.memstore.lowerLimit</name>
-    <value>0.35</value>
-    <description>When memstores are being forced to flush to make room in
-      memory, keep flushing until we hit this mark. Defaults to 35% of heap.
-      This value equal to hbase.regionserver.global.memstore.upperLimit causes
-      the minimum possible flushing to occur when updates are blocked due to
-      memstore limiting.
-    </description>
-  </property>
-  <property>
-    <name>hbase.server.thread.wakefrequency</name>
-    <value>10000</value>
-    <description>Time to sleep in between searches for work (in milliseconds).
-      Used as sleep interval by service threads such as log roller.
-    </description>
-  </property>
-  <property>
-    <name>hbase.server.versionfile.writeattempts</name>
-    <value>3</value>
-    <description>
-      How many time to retry attempting to write a version file
-      before just aborting. Each attempt is seperated by the
-      hbase.server.thread.wakefrequency milliseconds.
-    </description>
-  </property>
-  <property>
-    <name>hbase.hregion.memstore.flush.size</name>
-    <value>134217728</value>
-    <description>
-      Memstore will be flushed to disk if size of the memstore
-      exceeds this number of bytes.  Value is checked by a thread that runs
-      every hbase.server.thread.wakefrequency.
-    </description>
-  </property>
-  <property>
-    <name>hbase.hregion.preclose.flush.size</name>
-    <value>5242880</value>
-    <description>
-      If the memstores in a region are this size or larger when we go
-      to close, run a "pre-flush" to clear out memstores before we put up
-      the region closed flag and take the region offline.  On close,
-      a flush is run under the close flag to empty memory.  During
-      this time the region is offline and we are not taking on any writes.
-      If the memstore content is large, this flush could take a long time to
-      complete.  The preflush is meant to clean out the bulk of the memstore
-      before putting up the close flag and taking the region offline so the
-      flush that runs under the close flag has little to do.
-    </description>
-  </property>
-  <property>
-    <name>hbase.hregion.memstore.block.multiplier</name>
-    <value>2</value>
-    <description>
-      Block updates if memstore has hbase.hregion.block.memstore
-      time hbase.hregion.flush.size bytes.  Useful preventing
-      runaway memstore during spikes in update traffic.  Without an
-      upper-bound, memstore fills such that when it flushes the
-      resultant flush files take a long time to compact or split, or
-      worse, we OOME.
-    </description>
-  </property>
-  <property>
-    <name>hbase.hregion.memstore.mslab.enabled</name>
-    <value>true</value>
-    <description>
-      Enables the MemStore-Local Allocation Buffer,
-      a feature which works to prevent heap fragmentation under
-      heavy write loads. This can reduce the frequency of stop-the-world
-      GC pauses on large heaps.
-    </description>
-  </property>
-  <property>
-    <name>hbase.hregion.max.filesize</name>
-    <value>10737418240</value>
-    <description>
-      Maximum HStoreFile size. If any one of a column families' HStoreFiles has
-      grown to exceed this value, the hosting HRegion is split in two.
-      Default: 10G.
-    </description>
-  </property>
-  <property>
-    <name>hbase.hstore.compactionThreshold</name>
-    <value>3</value>
-    <description>
-      If more than this number of HStoreFiles in any one HStore
-      (one HStoreFile is written per flush of memstore) then a compaction
-      is run to rewrite all HStoreFiles files as one.  Larger numbers
-      put off compaction but when it runs, it takes longer to complete.
-    </description>
-  </property>
-  <property>
-    <name>hbase.hstore.blockingStoreFiles</name>
-    <value>7</value>
-    <description>
-      If more than this number of StoreFiles in any one Store
-      (one StoreFile is written per flush of MemStore) then updates are
-      blocked for this HRegion until a compaction is completed, or
-      until hbase.hstore.blockingWaitTime has been exceeded.
-    </description>
-  </property>
-  <property>
-    <name>hbase.hstore.blockingWaitTime</name>
-    <value>90000</value>
-    <description>
-      The time an HRegion will block updates for after hitting the StoreFile
-      limit defined by hbase.hstore.blockingStoreFiles.
-      After this time has elapsed, the HRegion will stop blocking updates even
-      if a compaction has not been completed.  Default: 90 seconds.
-    </description>
-  </property>
-  <property>
-    <name>hbase.hstore.compaction.max</name>
-    <value>10</value>
-    <description>Max number of HStoreFiles to compact per 'minor' compaction.
-    </description>
-  </property>
-  <property>
-    <name>hbase.hregion.majorcompaction</name>
-    <value>86400000</value>
-    <description>The time (in miliseconds) between 'major' compactions of all
-      HStoreFiles in a region.  Default: 1 day.
-      Set to 0 to disable automated major compactions.
-    </description>
-  </property>
-  <property>
-    <name>hbase.mapreduce.hfileoutputformat.blocksize</name>
-    <value>65536</value>
-    <description>The mapreduce HFileOutputFormat writes storefiles/hfiles.
-      This is the minimum hfile blocksize to emit.  Usually in hbase, writing
-      hfiles, the blocksize is gotten from the table schema (HColumnDescriptor)
-      but in the mapreduce outputformat context, we don't have access to the
-      schema so get blocksize from Configuration.  The smaller you make
-      the blocksize, the bigger your index and the less you fetch on a
-      random-access.  Set the blocksize down if you have small cells and want
-      faster random-access of individual cells.
-    </description>
-  </property>
-  <property>
-    <name>hfile.block.cache.size</name>
-    <value>0.25</value>
-    <description>
-      Percentage of maximum heap (-Xmx setting) to allocate to block cache
-      used by HFile/StoreFile. Default of 0.25 means allocate 25%.
-      Set to 0 to disable but it's not recommended.
-    </description>
-  </property>
-  <property>
-    <name>hbase.hash.type</name>
-    <value>murmur</value>
-    <description>The hashing algorithm for use in HashFunction. Two values are
-      supported now: murmur (MurmurHash) and jenkins (JenkinsHash).
-      Used by bloom filters.
-    </description>
-  </property>
-  <property>
-    <name>hfile.block.index.cacheonwrite</name>
-    <value>false</value>
-    <description>
-      This allows to put non-root multi-level index blocks into the block
-      cache at the time the index is being written.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.checksum.verify</name>
-    <value>false</value>
-    <description>
-      Allow hbase to do checksums rather than using hdfs checksums. This is a backwards
-      incompatible change.
-    </description>
-  </property>
-  <property>
-    <name>hfile.index.block.max.size</name>
-    <value>131072</value>
-    <description>
-      When the size of a leaf-level, intermediate-level, or root-level
-      index block in a multi-level block index grows to this size, the
-      block is written out and a new block is started.
-    </description>
-  </property>
-  <property>
-    <name>hfile.format.version</name>
-    <value>2</value>
-    <description>
-      The HFile format version to use for new files. Set this to 1 to test
-      backwards-compatibility. The default value of this option should be
-      consistent with FixedFileTrailer.MAX_VERSION.
-    </description>
-  </property>
-  <property>
-    <name>io.storefile.bloom.block.size</name>
-    <value>131072</value>
-    <description>
-      The size in bytes of a single block ("chunk") of a compound Bloom
-      filter. This size is approximate, because Bloom blocks can only be
-      inserted at data block boundaries, and the number of keys per data
-      block varies.
-    </description>
-  </property>
-  <property>
-    <name>io.storefile.bloom.cacheonwrite</name>
-    <value>false</value>
-    <description>
-      Enables cache-on-write for inline blocks of a compound Bloom filter.
-    </description>
-  </property>
-  <property>
-    <name>hbase.rs.cacheblocksonwrite</name>
-    <value>false</value>
-    <description>
-      Whether an HFile block should be added to the block cache when the
-      block is finished.
-    </description>
-  </property>
-  <property>
-    <name>hbase.rpc.engine</name>
-    <value>org.apache.hadoop.hbase.ipc.WritableRpcEngine</value>
-    <description>Implementation of org.apache.hadoop.hbase.ipc.RpcEngine to be
-      used for client / server RPC call marshalling.
-    </description>
-  </property>
+    <property>
+        <name>hbase.rootdir</name>
+        <value>file:///tmp/hbase-${user.name}/hbase</value>
+        <description>The directory shared by region servers and into
+            which HBase persists. The URL should be 'fully-qualified'
+            to include the filesystem scheme. For example, to specify the
+            HDFS directory '/hbase' where the HDFS instance's namenode is
+            running at namenode.example.org on port 9000, set this value to:
+            hdfs://namenode.example.org:9000/hbase. By default HBase writes
+            into /tmp. Change this configuration else all data will be lost
+            on machine restart.
+        </description>
+    </property>
+    <property>
+        <name>hbase.master.port</name>
+        <value>60000</value>
+        <description>The port the HBase Master should bind to.</description>
+    </property>
+    <property>
+        <name>hbase.cluster.distributed</name>
+        <value>false</value>
+        <description>The mode the cluster will be in. Possible values are
+            false for standalone mode and true for distributed mode. If
+            false, startup will run all HBase and ZooKeeper daemons together
+            in the one JVM.
+        </description>
+    </property>
+    <property>
+        <name>hbase.tmp.dir</name>
+        <value>/tmp/hbase-${user.name}</value>
+        <description>Temporary directory on the local filesystem.
+            Change this setting to point to a location more permanent
+            than '/tmp' (The '/tmp' directory is often cleared on
+            machine restart).
+        </description>
+    </property>
+    <property>
+        <name>hbase.master.info.port</name>
+        <value>60010</value>
+        <description>The port for the HBase Master web UI.
+            Set to -1 if you do not want a UI instance run.
+        </description>
+    </property>
+    <property>
+        <name>hbase.master.info.bindAddress</name>
+        <value>0.0.0.0</value>
+        <description>The bind address for the HBase Master web UI
+        </description>
+    </property>
+    <property>
+        <name>hbase.client.write.buffer</name>
+        <value>2097152</value>
+        <description>Default size of the HTable clien write buffer in bytes.
+            A bigger buffer takes more memory -- on both the client and server
+            side since server instantiates the passed write buffer to process
+            it -- but a larger buffer size reduces the number of RPCs made.
+            For an estimate of server-side memory-used, evaluate
+            hbase.client.write.buffer * hbase.regionserver.handler.count
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.port</name>
+        <value>60020</value>
+        <description>The port the HBase RegionServer binds to.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.info.port</name>
+        <value>60030</value>
+        <description>The port for the HBase RegionServer web UI
+            Set to -1 if you do not want the RegionServer UI to run.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.info.port.auto</name>
+        <value>false</value>
+        <description>Whether or not the Master or RegionServer
+            UI should search for a port to bind to. Enables automatic port
+            search if hbase.regionserver.info.port is already in use.
+            Useful for testing, turned off by default.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.info.bindAddress</name>
+        <value>0.0.0.0</value>
+        <description>The address for the HBase RegionServer web UI
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.class</name>
+        <value>org.apache.hadoop.hbase.ipc.HRegionInterface</value>
+        <description>The RegionServer interface to use.
+            Used by the client opening proxy to remote region server.
+        </description>
+    </property>
+    <property>
+        <name>hbase.client.pause</name>
+        <value>1000</value>
+        <description>General client pause value. Used mostly as value to wait
+            before running a retry of a failed get, region lookup, etc.
+        </description>
+    </property>
+    <property>
+        <name>hbase.client.retries.number</name>
+        <value>10</value>
+        <description>Maximum retries. Used as maximum for all retryable
+            operations such as fetching of the root region from root region
+            server, getting a cell's value, starting a row update, etc.
+            Default: 10.
+        </description>
+    </property>
+    <property>
+        <name>hbase.bulkload.retries.number</name>
+        <value>0</value>
+        <description>Maximum retries. This is maximum number of iterations
+            to atomic bulk loads are attempted in the face of splitting operations
+            0 means never give up. Default: 0.
+        </description>
+    </property>
+    <property>
+        <name>hbase.client.scanner.caching</name>
+        <value>1</value>
+        <description>Number of rows that will be fetched when calling next
+            on a scanner if it is not served from (local, client) memory. Higher
+            caching values will enable faster scanners but will eat up more memory
+            and some calls of next may take longer and longer times when the cache is empty.
+            Do not set this value such that the time between invocations is greater
+            than the scanner timeout; i.e. hbase.regionserver.lease.period
+        </description>
+    </property>
+    <property>
+        <name>hbase.client.keyvalue.maxsize</name>
+        <value>10485760</value>
+        <description>Specifies the combined maximum allowed size of a KeyValue
+            instance. This is to set an upper boundary for a single entry saved in a
+            storage file. Since they cannot be split it helps avoiding that a region
+            cannot be split any further because the data is too large. It seems wise
+            to set this to a fraction of the maximum region size. Setting it to zero
+            or less disables the check.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.lease.period</name>
+        <value>60000</value>
+        <description>HRegion server lease period in milliseconds. Default is
+            60 seconds. Clients must report in within this period else they are
+            considered dead.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.handler.count</name>
+        <value>10</value>
+        <description>Count of RPC Listener instances spun up on RegionServers.
+            Same property is used by the Master for count of master handlers.
+            Default is 10.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.msginterval</name>
+        <value>3000</value>
+        <description>Interval between messages from the RegionServer to Master
+            in milliseconds.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.optionallogflushinterval</name>
+        <value>1000</value>
+        <description>Sync the HLog to the HDFS after this interval if it has not
+            accumulated enough entries to trigger a sync. Default 1 second. Units:
+            milliseconds.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.regionSplitLimit</name>
+        <value>2147483647</value>
+        <description>Limit for the number of regions after which no more region
+            splitting should take place. This is not a hard limit for the number of
+            regions but acts as a guideline for the regionserver to stop splitting after
+            a certain limit. Default is set to MAX_INT; i.e. do not block splitting.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.logroll.period</name>
+        <value>3600000</value>
+        <description>Period at which we will roll the commit log regardless
+            of how many edits it has.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.logroll.errors.tolerated</name>
+        <value>2</value>
+        <description>The number of consecutive WAL close errors we will allow
+            before triggering a server abort. A setting of 0 will cause the
+            region server to abort if closing the current WAL writer fails during
+            log rolling. Even a small value (2 or 3) will allow a region server
+            to ride over transient HDFS errors.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.hlog.reader.impl</name>
+        <value>org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogReader</value>
+        <description>The HLog file reader implementation.</description>
+    </property>
+    <property>
+        <name>hbase.regionserver.hlog.writer.impl</name>
+        <value>org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogWriter</value>
+        <description>The HLog file writer implementation.</description>
+    </property>
+    <property>
+        <name>hbase.regionserver.nbreservationblocks</name>
+        <value>4</value>
+        <description>The number of resevoir blocks of memory release on
+            OOME so we can cleanup properly before server shutdown.
+        </description>
+    </property>
+    <property>
+        <name>hbase.zookeeper.dns.interface</name>
+        <value>default</value>
+        <description>The name of the Network Interface from which a ZooKeeper server
+            should report its IP address.
+        </description>
+    </property>
+    <property>
+        <name>hbase.zookeeper.dns.nameserver</name>
+        <value>default</value>
+        <description>The host name or IP address of the name server (DNS)
+            which a ZooKeeper server should use to determine the host name used by the
+            master for communication and display purposes.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.dns.interface</name>
+        <value>default</value>
+        <description>The name of the Network Interface from which a region server
+            should report its IP address.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.dns.nameserver</name>
+        <value>default</value>
+        <description>The host name or IP address of the name server (DNS)
+            which a region server should use to determine the host name used by the
+            master for communication and display purposes.
+        </description>
+    </property>
+    <property>
+        <name>hbase.master.dns.interface</name>
+        <value>default</value>
+        <description>The name of the Network Interface from which a master
+            should report its IP address.
+        </description>
+    </property>
+    <property>
+        <name>hbase.master.dns.nameserver</name>
+        <value>default</value>
+        <description>The host name or IP address of the name server (DNS)
+            which a master should use to determine the host name used
+            for communication and display purposes.
+        </description>
+    </property>
+    <property>
+        <name>hbase.balancer.period
+        </name>
+        <value>300000</value>
+        <description>Period at which the region balancer runs in the Master.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regions.slop</name>
+        <value>0.2</value>
+        <description>Rebalance if any regionserver has average + (average * slop) regions.
+            Default is 20% slop.
+        </description>
+    </property>
+    <property>
+        <name>hbase.master.logcleaner.ttl</name>
+        <value>600000</value>
+        <description>Maximum time a HLog can stay in the .oldlogdir directory,
+            after which it will be cleaned by a Master thread.
+        </description>
+    </property>
+    <property>
+        <name>hbase.master.logcleaner.plugins</name>
+        <value>org.apache.hadoop.hbase.master.cleaner.TimeToLiveLogCleaner</value>
+        <description>A comma-separated list of LogCleanerDelegate invoked by
+            the LogsCleaner service. These WAL/HLog cleaners are called in order,
+            so put the HLog cleaner that prunes the most HLog files in front. To
+            implement your own LogCleanerDelegate, just put it in HBase's classpath
+            and add the fully qualified class name here. Always add the above
+            default log cleaners in the list.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.global.memstore.upperLimit</name>
+        <value>0.4</value>
+        <description>Maximum size of all memstores in a region server before new
+            updates are blocked and flushes are forced. Defaults to 40% of heap
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.global.memstore.lowerLimit</name>
+        <value>0.35</value>
+        <description>When memstores are being forced to flush to make room in
+            memory, keep flushing until we hit this mark. Defaults to 35% of heap.
+            This value equal to hbase.regionserver.global.memstore.upperLimit causes
+            the minimum possible flushing to occur when updates are blocked due to
+            memstore limiting.
+        </description>
+    </property>
+    <property>
+        <name>hbase.server.thread.wakefrequency</name>
+        <value>10000</value>
+        <description>Time to sleep in between searches for work (in milliseconds).
+            Used as sleep interval by service threads such as log roller.
+        </description>
+    </property>
+    <property>
+        <name>hbase.server.versionfile.writeattempts</name>
+        <value>3</value>
+        <description>
+            How many time to retry attempting to write a version file
+            before just aborting. Each attempt is seperated by the
+            hbase.server.thread.wakefrequency milliseconds.
+        </description>
+    </property>
+    <property>
+        <name>hbase.hregion.memstore.flush.size</name>
+        <value>134217728</value>
+        <description>
+            Memstore will be flushed to disk if size of the memstore
+            exceeds this number of bytes. Value is checked by a thread that runs
+            every hbase.server.thread.wakefrequency.
+        </description>
+    </property>
+    <property>
+        <name>hbase.hregion.preclose.flush.size</name>
+        <value>5242880</value>
+        <description>
+            If the memstores in a region are this size or larger when we go
+            to close, run a "pre-flush" to clear out memstores before we put up
+            the region closed flag and take the region offline. On close,
+            a flush is run under the close flag to empty memory. During
+            this time the region is offline and we are not taking on any writes.
+            If the memstore content is large, this flush could take a long time to
+            complete. The preflush is meant to clean out the bulk of the memstore
+            before putting up the close flag and taking the region offline so the
+            flush that runs under the close flag has little to do.
+        </description>
+    </property>
+    <property>
+        <name>hbase.hregion.memstore.block.multiplier</name>
+        <value>2</value>
+        <description>
+            Block updates if memstore has hbase.hregion.block.memstore
+            time hbase.hregion.flush.size bytes. Useful preventing
+            runaway memstore during spikes in update traffic. Without an
+            upper-bound, memstore fills such that when it flushes the
+            resultant flush files take a long time to compact or split, or
+            worse, we OOME.
+        </description>
+    </property>
+    <property>
+        <name>hbase.hregion.memstore.mslab.enabled</name>
+        <value>true</value>
+        <description>
+            Enables the MemStore-Local Allocation Buffer,
+            a feature which works to prevent heap fragmentation under
+            heavy write loads. This can reduce the frequency of stop-the-world
+            GC pauses on large heaps.
+        </description>
+    </property>
+    <property>
+        <name>hbase.hregion.max.filesize</name>
+        <value>10737418240</value>
+        <description>
+            Maximum HStoreFile size. If any one of a column families' HStoreFiles has
+            grown to exceed this value, the hosting HRegion is split in two.
+            Default: 10G.
+        </description>
+    </property>
+    <property>
+        <name>hbase.hstore.compactionThreshold</name>
+        <value>3</value>
+        <description>
+            If more than this number of HStoreFiles in any one HStore
+            (one HStoreFile is written per flush of memstore) then a compaction
+            is run to rewrite all HStoreFiles files as one. Larger numbers
+            put off compaction but when it runs, it takes longer to complete.
+        </description>
+    </property>
+    <property>
+        <name>hbase.hstore.blockingStoreFiles</name>
+        <value>7</value>
+        <description>
+            If more than this number of StoreFiles in any one Store
+            (one StoreFile is written per flush of MemStore) then updates are
+            blocked for this HRegion until a compaction is completed, or
+            until hbase.hstore.blockingWaitTime has been exceeded.
+        </description>
+    </property>
+    <property>
+        <name>hbase.hstore.blockingWaitTime</name>
+        <value>90000</value>
+        <description>
+            The time an HRegion will block updates for after hitting the StoreFile
+            limit defined by hbase.hstore.blockingStoreFiles.
+            After this time has elapsed, the HRegion will stop blocking updates even
+            if a compaction has not been completed. Default: 90 seconds.
+        </description>
+    </property>
+    <property>
+        <name>hbase.hstore.compaction.max</name>
+        <value>10</value>
+        <description>Max number of HStoreFiles to compact per 'minor' compaction.
+        </description>
+    </property>
+    <property>
+        <name>hbase.hregion.majorcompaction</name>
+        <value>86400000</value>
+        <description>The time (in miliseconds) between 'major' compactions of all
+            HStoreFiles in a region. Default: 1 day.
+            Set to 0 to disable automated major compactions.
+        </description>
+    </property>
+    <property>
+        <name>hbase.mapreduce.hfileoutputformat.blocksize</name>
+        <value>65536</value>
+        <description>The mapreduce HFileOutputFormat writes storefiles/hfiles.
+            This is the minimum hfile blocksize to emit. Usually in hbase, writing
+            hfiles, the blocksize is gotten from the table schema (HColumnDescriptor)
+            but in the mapreduce outputformat context, we don't have access to the
+            schema so get blocksize from Configuration. The smaller you make
+            the blocksize, the bigger your index and the less you fetch on a
+            random-access. Set the blocksize down if you have small cells and want
+            faster random-access of individual cells.
+        </description>
+    </property>
+    <property>
+        <name>hfile.block.cache.size</name>
+        <value>0.25</value>
+        <description>
+            Percentage of maximum heap (-Xmx setting) to allocate to block cache
+            used by HFile/StoreFile. Default of 0.25 means allocate 25%.
+            Set to 0 to disable but it's not recommended.
+        </description>
+    </property>
+    <property>
+        <name>hbase.hash.type</name>
+        <value>murmur</value>
+        <description>The hashing algorithm for use in HashFunction. Two values are
+            supported now: murmur (MurmurHash) and jenkins (JenkinsHash).
+            Used by bloom filters.
+        </description>
+    </property>
+    <property>
+        <name>hfile.block.index.cacheonwrite</name>
+        <value>false</value>
+        <description>
+            This allows to put non-root multi-level index blocks into the block
+            cache at the time the index is being written.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.checksum.verify</name>
+        <value>false</value>
+        <description>
+            Allow hbase to do checksums rather than using hdfs checksums. This is a backwards
+            incompatible change.
+        </description>
+    </property>
+    <property>
+        <name>hfile.index.block.max.size</name>
+        <value>131072</value>
+        <description>
+            When the size of a leaf-level, intermediate-level, or root-level
+            index block in a multi-level block index grows to this size, the
+            block is written out and a new block is started.
+        </description>
+    </property>
+    <property>
+        <name>hfile.format.version</name>
+        <value>2</value>
+        <description>
+            The HFile format version to use for new files. Set this to 1 to test
+            backwards-compatibility. The default value of this option should be
+            consistent with FixedFileTrailer.MAX_VERSION.
+        </description>
+    </property>
+    <property>
+        <name>io.storefile.bloom.block.size</name>
+        <value>131072</value>
+        <description>
+            The size in bytes of a single block ("chunk") of a compound Bloom
+            filter. This size is approximate, because Bloom blocks can only be
+            inserted at data block boundaries, and the number of keys per data
+            block varies.
+        </description>
+    </property>
+    <property>
+        <name>io.storefile.bloom.cacheonwrite</name>
+        <value>false</value>
+        <description>
+            Enables cache-on-write for inline blocks of a compound Bloom filter.
+        </description>
+    </property>
+    <property>
+        <name>hbase.rs.cacheblocksonwrite</name>
+        <value>false</value>
+        <description>
+            Whether an HFile block should be added to the block cache when the
+            block is finished.
+        </description>
+    </property>
+    <property>
+        <name>hbase.rpc.engine</name>
+        <value>org.apache.hadoop.hbase.ipc.WritableRpcEngine</value>
+        <description>Implementation of org.apache.hadoop.hbase.ipc.RpcEngine to be
+            used for client / server RPC call marshalling.
+        </description>
+    </property>
 
-  <!-- The following properties configure authentication information for
-       HBase processes when using Kerberos security.  There are no default
-       values, included here for documentation purposes -->
-  <property>
-    <name>hbase.master.keytab.file</name>
-    <value></value>
-    <description>Full path to the kerberos keytab file to use for logging in
-      the configured HMaster server principal.
-    </description>
-  </property>
-  <property>
-    <name>hbase.master.kerberos.principal</name>
-    <value></value>
-    <description>Ex. "hbase/_HOST@EXAMPLE.COM".  The kerberos principal name
-      that should be used to run the HMaster process.  The principal name should
-      be in the form: user/hostname@DOMAIN.  If "_HOST" is used as the hostname
-      portion, it will be replaced with the actual hostname of the running
-      instance.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.keytab.file</name>
-    <value></value>
-    <description>Full path to the kerberos keytab file to use for logging in
-      the configured HRegionServer server principal.
-    </description>
-  </property>
-  <property>
-    <name>hbase.regionserver.kerberos.principal</name>
-    <value></value>
-    <description>Ex. "hbase/_HOST@EXAMPLE.COM".  The kerberos principal name
-      that should be used to run the HRegionServer process.  The principal name
-      should be in the form: user/hostname@DOMAIN.  If "_HOST" is used as the
-      hostname portion, it will be replaced with the actual hostname of the
-      running instance.  An entry for this principal must exist in the file
-      specified in hbase.regionserver.keytab.file
-    </description>
-  </property>
+    <!-- The following properties configure authentication information for
+         HBase processes when using Kerberos security.  There are no default
+         values, included here for documentation purposes -->
+    <property>
+        <name>hbase.master.keytab.file</name>
+        <value></value>
+        <description>Full path to the kerberos keytab file to use for logging in
+            the configured HMaster server principal.
+        </description>
+    </property>
+    <property>
+        <name>hbase.master.kerberos.principal</name>
+        <value></value>
+        <description>Ex. "hbase/_HOST@EXAMPLE.COM". The kerberos principal name
+            that should be used to run the HMaster process. The principal name should
+            be in the form: user/hostname@DOMAIN. If "_HOST" is used as the hostname
+            portion, it will be replaced with the actual hostname of the running
+            instance.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.keytab.file</name>
+        <value></value>
+        <description>Full path to the kerberos keytab file to use for logging in
+            the configured HRegionServer server principal.
+        </description>
+    </property>
+    <property>
+        <name>hbase.regionserver.kerberos.principal</name>
+        <value></value>
+        <description>Ex. "hbase/_HOST@EXAMPLE.COM". The kerberos principal name
+            that should be used to run the HRegionServer process. The principal name
+            should be in the form: user/hostname@DOMAIN. If "_HOST" is used as the
+            hostname portion, it will be replaced with the actual hostname of the
+            running instance. An entry for this principal must exist in the file
+            specified in hbase.regionserver.keytab.file
+        </description>
+    </property>
 
-  <!-- Additional configuration specific to HBase security -->
-  <property>
-    <name>hadoop.policy.file</name>
-    <value>hbase-policy.xml</value>
-    <description>The policy configuration file used by RPC servers to make
-      authorization decisions on client requests.  Only used when HBase
-      security is enabled.
-    </description>
-  </property>
-  <property>
-    <name>hbase.superuser</name>
-    <value></value>
-    <description>List of users or groups (comma-separated), who are allowed
-      full privileges, regardless of stored ACLs, across the cluster.
-      Only used when HBase security is enabled.
-    </description>
-  </property>
-  <property>
-    <name>hbase.auth.key.update.interval</name>
-    <value>86400000</value>
-    <description>The update interval for master key for authentication tokens
-      in servers in milliseconds.  Only used when HBase security is enabled.
-    </description>
-  </property>
-  <property>
-    <name>hbase.auth.token.max.lifetime</name>
-    <value>604800000</value>
-    <description>The maximum lifetime in milliseconds after which an
-      authentication token expires.  Only used when HBase security is enabled.
-    </description>
-  </property>
+    <!-- Additional configuration specific to HBase security -->
+    <property>
+        <name>hadoop.policy.file</name>
+        <value>hbase-policy.xml</value>
+        <description>The policy configuration file used by RPC servers to make
+            authorization decisions on client requests. Only used when HBase
+            security is enabled.
+        </description>
+    </property>
+    <property>
+        <name>hbase.superuser</name>
+        <value></value>
+        <description>List of users or groups (comma-separated), who are allowed
+            full privileges, regardless of stored ACLs, across the cluster.
+            Only used when HBase security is enabled.
+        </description>
+    </property>
+    <property>
+        <name>hbase.auth.key.update.interval</name>
+        <value>86400000</value>
+        <description>The update interval for master key for authentication tokens
+            in servers in milliseconds. Only used when HBase security is enabled.
+        </description>
+    </property>
+    <property>
+        <name>hbase.auth.token.max.lifetime</name>
+        <value>604800000</value>
+        <description>The maximum lifetime in milliseconds after which an
+            authentication token expires. Only used when HBase security is enabled.
+        </description>
+    </property>
 
-  <property>
-    <name>zookeeper.session.timeout</name>
-    <value>180000</value>
-    <description>ZooKeeper session timeout.
-      HBase passes this to the zk quorum as suggested maximum time for a
-      session (This setting becomes zookeeper's 'maxSessionTimeout').  See
-      http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions
-      "The client sends a requested timeout, the server responds with the
-      timeout that it can give the client. " In milliseconds.
-    </description>
-  </property>
-  <property>
-    <name>zookeeper.znode.parent</name>
-    <value>/hbase</value>
-    <description>Root ZNode for HBase in ZooKeeper. All of HBase's ZooKeeper
-      files that are configured with a relative path will go under this node.
-      By default, all of HBase's ZooKeeper file path are configured with a
-      relative path, so they will all go under this directory unless changed.
-    </description>
-  </property>
-  <property>
-    <name>zookeeper.znode.rootserver</name>
-    <value>root-region-server</value>
-    <description>Path to ZNode holding root region location. This is written by
-      the master and read by clients and region servers. If a relative path is
-      given, the parent folder will be ${zookeeper.znode.parent}. By default,
-      this means the root location is stored at /hbase/root-region-server.
-    </description>
-  </property>
+    <property>
+        <name>zookeeper.session.timeout</name>
+        <value>180000</value>
+        <description>ZooKeeper session timeout.
+            HBase passes this to the zk quorum as suggested maximum time for a
+            session (This setting becomes zookeeper's 'maxSessionTimeout'). See
+            http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions
+            "The client sends a requested timeout, the server responds with the
+            timeout that it can give the client. " In milliseconds.
+        </description>
+    </property>
+    <property>
+        <name>zookeeper.znode.parent</name>
+        <value>/hbase</value>
+        <description>Root ZNode for HBase in ZooKeeper. All of HBase's ZooKeeper
+            files that are configured with a relative path will go under this node.
+            By default, all of HBase's ZooKeeper file path are configured with a
+            relative path, so they will all go under this directory unless changed.
+        </description>
+    </property>
+    <property>
+        <name>zookeeper.znode.rootserver</name>
+        <value>root-region-server</value>
+        <description>Path to ZNode holding root region location. This is written by
+            the master and read by clients and region servers. If a relative path is
+            given, the parent folder will be ${zookeeper.znode.parent}. By default,
+            this means the root location is stored at /hbase/root-region-server.
+        </description>
+    </property>
 
-  <property>
-    <name>zookeeper.znode.acl.parent</name>
-    <value>acl</value>
-    <description>Root ZNode for access control lists.</description>
-  </property>
+    <property>
+        <name>zookeeper.znode.acl.parent</name>
+        <value>acl</value>
+        <description>Root ZNode for access control lists.</description>
+    </property>
 
-  <property>
-    <name>hbase.coprocessor.region.classes</name>
-    <value></value>
-    <description>A comma-separated list of Coprocessors that are loaded by
-      default on all tables. For any override coprocessor method, these classes
-      will be called in order. After implementing your own Coprocessor, just put
-      it in HBase's classpath and add the fully qualified class name here.
-      A coprocessor can also be loaded on demand by setting HTableDescriptor.
-    </description>
-  </property>
+    <property>
+        <name>hbase.coprocessor.region.classes</name>
+        <value></value>
+        <description>A comma-separated list of Coprocessors that are loaded by
+            default on all tables. For any override coprocessor method, these classes
+            will be called in order. After implementing your own Coprocessor, just put
+            it in HBase's classpath and add the fully qualified class name here.
+            A coprocessor can also be loaded on demand by setting HTableDescriptor.
+        </description>
+    </property>
 
-  <property>
-    <name>hbase.coprocessor.master.classes</name>
-    <value></value>
-    <description>A comma-separated list of
-      org.apache.hadoop.hbase.coprocessor.MasterObserver coprocessors that are
-      loaded by default on the active HMaster process. For any implemented
-      coprocessor methods, the listed classes will be called in order. After
-      implementing your own MasterObserver, just put it in HBase's classpath
-      and add the fully qualified class name here.
-    </description>
-  </property>
+    <property>
+        <name>hbase.coprocessor.master.classes</name>
+        <value></value>
+        <description>A comma-separated list of
+            org.apache.hadoop.hbase.coprocessor.MasterObserver coprocessors that are
+            loaded by default on the active HMaster process. For any implemented
+            coprocessor methods, the listed classes will be called in order. After
+            implementing your own MasterObserver, just put it in HBase's classpath
+            and add the fully qualified class name here.
+        </description>
+    </property>
 
-  <!--
-  The following three properties are used together to create the list of
-  host:peer_port:leader_port quorum servers for ZooKeeper.
-  -->
-  <property>
-    <name>hbase.zookeeper.quorum</name>
-    <value>localhost</value>
-    <description>Comma separated list of servers in the ZooKeeper Quorum.
-      For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
-      By default this is set to localhost for local and pseudo-distributed modes
-      of operation. For a fully-distributed setup, this should be set to a full
-      list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in hbase-env.sh
-      this is the list of servers which we will start/stop ZooKeeper on.
-    </description>
-  </property>
-  <property>
-    <name>hbase.zookeeper.peerport</name>
-    <value>2888</value>
-    <description>Port used by ZooKeeper peers to talk to each other.
-      See http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
-      for more information.
-    </description>
-  </property>
-  <property>
-    <name>hbase.zookeeper.leaderport</name>
-    <value>3888</value>
-    <description>Port used by ZooKeeper for leader election.
-      See http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
-      for more information.
-    </description>
-  </property>
-  <property>
-    <name>hbase.zookeeper.useMulti</name>
-    <value>true</value>
-    <description>Instructs HBase to make use of ZooKeeper's multi-update functionality.
-      This allows certain ZooKeeper operations to complete more quickly and prevents some issues
-      with rare ZooKeeper failure scenarios (see the release note of HBASE-6710 for an example).
-      IMPORTANT: only set this to true if all ZooKeeper servers in the cluster are on version 3.4+
-      and will not be downgraded.  ZooKeeper versions before 3.4 do not support multi-update and will
-      not fail gracefully if multi-update is invoked (see ZOOKEEPER-1495).
-      NOTE: this and future versions of HBase are only supported to work with
-      versions of ZooKeeper with multi support (CDH4+), so it is safe to use ZK.multi.
-    </description>
-  </property>
-  <!-- End of properties used to generate ZooKeeper host:port quorum list. -->
+    <!--
+    The following three properties are used together to create the list of
+    host:peer_port:leader_port quorum servers for ZooKeeper.
+    -->
+    <property>
+        <name>hbase.zookeeper.quorum</name>
+        <value>localhost</value>
+        <description>Comma separated list of servers in the ZooKeeper Quorum.
+            For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
+            By default this is set to localhost for local and pseudo-distributed modes
+            of operation. For a fully-distributed setup, this should be set to a full
+            list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in hbase-env.sh
+            this is the list of servers which we will start/stop ZooKeeper on.
+        </description>
+    </property>
+    <property>
+        <name>hbase.zookeeper.peerport</name>
+        <value>2888</value>
+        <description>Port used by ZooKeeper peers to talk to each other.
+            See http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
+            for more information.
+        </description>
+    </property>
+    <property>
+        <name>hbase.zookeeper.leaderport</name>
+        <value>3888</value>
+        <description>Port used by ZooKeeper for leader election.
+            See http://hadoop.apache.org/zookeeper/docs/r3.1.1/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
+            for more information.
+        </description>
+    </property>
+    <property>
+        <name>hbase.zookeeper.useMulti</name>
+        <value>true</value>
+        <description>Instructs HBase to make use of ZooKeeper's multi-update functionality.
+            This allows certain ZooKeeper operations to complete more quickly and prevents some issues
+            with rare ZooKeeper failure scenarios (see the release note of HBASE-6710 for an example).
+            IMPORTANT: only set this to true if all ZooKeeper servers in the cluster are on version 3.4+
+            and will not be downgraded. ZooKeeper versions before 3.4 do not support multi-update and will
+            not fail gracefully if multi-update is invoked (see ZOOKEEPER-1495).
+            NOTE: this and future versions of HBase are only supported to work with
+            versions of ZooKeeper with multi support (CDH4+), so it is safe to use ZK.multi.
+        </description>
+    </property>
+    <!-- End of properties used to generate ZooKeeper host:port quorum list. -->
 
-  <!--
-  Beginning of properties that are directly mapped from ZooKeeper's zoo.cfg.
-  All properties with an "hbase.zookeeper.property." prefix are converted for
-  ZooKeeper's configuration. Hence, if you want to add an option from zoo.cfg,
-  e.g.  "initLimit=10" you would append the following to your configuration:
-    <property>
-      <name>hbase.zookeeper.property.initLimit</name>
-      <value>10</value>
-    </property>
-  -->
-  <property>
-    <name>hbase.zookeeper.property.initLimit</name>
-    <value>10</value>
-    <description>Property from ZooKeeper's config zoo.cfg.
-      The number of ticks that the initial synchronization phase can take.
-    </description>
-  </property>
-  <property>
-    <name>hbase.zookeeper.property.syncLimit</name>
-    <value>5</value>
-    <description>Property from ZooKeeper's config zoo.cfg.
-      The number of ticks that can pass between sending a request and getting an
-      acknowledgment.
-    </description>
-  </property>
-  <property>
-    <name>hbase.zookeeper.property.dataDir</name>
-    <value>${hbase.tmp.dir}/zookeeper</value>
-    <description>Property from ZooKeeper's config zoo.cfg.
-      The directory where the snapshot is stored.
-    </description>
-  </property>
-  <property>
-    <name>hbase.zookeeper.property.clientPort</name>
-    <value>2181</value>
-    <description>Property from ZooKeeper's config zoo.cfg.
-      The port at which the clients will connect.
-    </description>
-  </property>
-  <property>
-    <name>hbase.zookeeper.property.maxClientCnxns</name>
-    <value>300</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>
-  <!-- End of properties that are directly mapped from ZooKeeper's zoo.cfg -->
-  <property>
-    <name>hbase.rest.port</name>
-    <value>8080</value>
-    <description>The port for the HBase REST server.</description>
-  </property>
-  <property>
-    <name>hbase.rest.readonly</name>
-    <value>false</value>
-    <description>
-      Defines the mode the REST server will be started in. Possible values are:
-      false: All HTTP methods are permitted - GET/PUT/POST/DELETE.
-      true: Only the GET method is permitted.
-    </description>
-  </property>
+    <!--
+    Beginning of properties that are directly mapped from ZooKeeper's zoo.cfg.
+    All properties with an "hbase.zookeeper.property." prefix are converted for
+    ZooKeeper's configuration. Hence, if you want to add an option from zoo.cfg,
+    e.g.  "initLimit=10" you would append the following to your configuration:
+      <property>
+        <name>hbase.zookeeper.property.initLimit</name>
+        <value>10</value>
+      </property>
+    -->
+    <property>
+        <name>hbase.zookeeper.property.initLimit</name>
+        <value>10</value>
+        <description>Property from ZooKeeper's config zoo.cfg.
+            The number of ticks that the initial synchronization phase can take.
+        </description>
+    </property>
+    <property>
+        <name>hbase.zookeeper.property.syncLimit</name>
+        <value>5</value>
+        <description>Property from ZooKeeper's config zoo.cfg.
+            The number of ticks that can pass between sending a request and getting an
+            acknowledgment.
+        </description>
+    </property>
+    <property>
+        <name>hbase.zookeeper.property.dataDir</name>
+        <value>${hbase.tmp.dir}/zookeeper</value>
+        <description>Property from ZooKeeper's config zoo.cfg.
+            The directory where the snapshot is stored.
+        </description>
+    </property>
+    <property>
+        <name>hbase.zookeeper.property.clientPort</name>
+        <value>2181</value>
+        <description>Property from ZooKeeper's config zoo.cfg.
+            The port at which the clients will connect.
+        </description>
+    </property>
+    <property>
+        <name>hbase.zookeeper.property.maxClientCnxns</name>
+        <value>300</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>
+    <!-- End of properties that are directly mapped from ZooKeeper's zoo.cfg -->
+    <property>
+        <name>hbase.rest.port</name>
+        <value>8080</value>
+        <description>The port for the HBase REST server.</description>
+    </property>
+    <property>
+        <name>hbase.rest.readonly</name>
+        <value>false</value>
+        <description>
+            Defines the mode the REST server will be started in. Possible values are:
+            false: All HTTP methods are permitted - GET/PUT/POST/DELETE.
+            true: Only the GET method is permitted.
+        </description>
+    </property>
 
-  <property skipInDoc="true">
-    <name>hbase.defaults.for.version</name>
-    <value>0.94.2-cdh4.2.1</value>
-    <description>
-      This defaults file was compiled for version 0.94.2-cdh4.2.1. This variable is used
-      to make sure that a user doesn't have an old version of hbase-default.xml on the
-      classpath.
-    </description>
-  </property>
-  <property>
-    <name>hbase.defaults.for.version.skip</name>
-    <value>true</value>
-    <description>
-      Set to true to skip the 'hbase.defaults.for.version' check.
-      Setting this to true can be useful in contexts other than
-      the other side of a maven generation; i.e. running in an
-      ide.  You'll want to set this boolean to true to avoid
-      seeing the RuntimException complaint: "hbase-default.xml file
-      seems to be for and old version of HBase (0.94.2-cdh4.2.1), this
-      version is X.X.X-SNAPSHOT"
-    </description>
-  </property>
-  <property>
-    <name>hbase.coprocessor.abortonerror</name>
-    <value>false</value>
-    <description>
-      Set to true to cause the hosting server (master or regionserver) to
-      abort if a coprocessor throws a Throwable object that is not IOException or
-      a subclass of IOException. Setting it to true might be useful in development
-      environments where one wants to terminate the server as soon as possible to
-      simplify coprocessor failure analysis.
-    </description>
-  </property>
-  <property>
-    <name>hbase.online.schema.update.enable</name>
-    <value>false</value>
-    <description>
-      Set true to enable online schema changes.  This is an experimental feature.
-      There are known issues modifying table schemas at the same time a region
-      split is happening so your table needs to be quiescent or else you have to
-      be running with splits disabled.
-    </description>
-  </property>
-  <property>
-    <name>dfs.support.append</name>
-    <value>true</value>
-    <description>Does HDFS allow appends to files?
-      This is an hdfs config. set in here so the hdfs client will do append support.
-      You must ensure that this config. is true serverside too when running hbase
-      (You will have to restart your cluster after setting it).
-    </description>
-  </property>
-  <property>
-    <name>hbase.thrift.minWorkerThreads</name>
-    <value>16</value>
-    <description>
-      The "core size" of the thread pool. New threads are created on every
-      connection until this many threads are created.
-    </description>
-  </property>
-  <property>
-    <name>hbase.thrift.maxWorkerThreads</name>
-    <value>1000</value>
-    <description>
-      The maximum size of the thread pool. When the pending request queue
-      overflows, new threads are created until their number reaches this number.
-      After that, the server starts dropping connections.
-    </description>
-  </property>
-  <property>
-    <name>hbase.thrift.maxQueuedRequests</name>
-    <value>1000</value>
-    <description>
-      The maximum number of pending Thrift connections waiting in the queue. If
-      there are no idle threads in the pool, the server queues requests. Only
-      when the queue overflows, new threads are added, up to
-      hbase.thrift.maxQueuedRequests threads.
-    </description>
-  </property>
-  <property>
-    <name>hbase.offheapcache.percentage</name>
-    <value>0</value>
-    <description>
-      The amount of off heap space to be allocated towards the experimental
-      off heap cache. If you desire the cache to be disabled, simply set this
-      value to 0.
-    </description>
-  </property>
-  <property>
-    <name>hbase.data.umask.enable</name>
-    <value>false</value>
-    <description>Enable, if true, that file permissions should be assigned
-      to the files written by the regionserver
-    </description>
-  </property>
-  <property>
-    <name>hbase.data.umask</name>
-    <value>000</value>
-    <description>File permissions that should be used to write data
-      files when hbase.data.umask.enable is true
-    </description>
-  </property>
+    <property skipInDoc="true">
+        <name>hbase.defaults.for.version</name>
+        <value>0.94.2-cdh4.2.1</value>
+        <description>
+            This defaults file was compiled for version 0.94.2-cdh4.2.1. This variable is used
+            to make sure that a user doesn't have an old version of hbase-default.xml on the
+            classpath.
+        </description>
+    </property>
+    <property>
+        <name>hbase.defaults.for.version.skip</name>
+        <value>true</value>
+        <description>
+            Set to true to skip the 'hbase.defaults.for.version' check.
+            Setting this to true can be useful in contexts other than
+            the other side of a maven generation; i.e. running in an
+            ide. You'll want to set this boolean to true to avoid
+            seeing the RuntimException complaint: "hbase-default.xml file
+            seems to be for and old version of HBase (0.94.2-cdh4.2.1), this
+            version is X.X.X-SNAPSHOT"
+        </description>
+    </property>
+    <property>
+        <name>hbase.coprocessor.abortonerror</name>
+        <value>false</value>
+        <description>
+            Set to true to cause the hosting server (master or regionserver) to
+            abort if a coprocessor throws a Throwable object that is not IOException or
+            a subclass of IOException. Setting it to true might be useful in development
+            environments where one wants to terminate the server as soon as possible to
+            simplify coprocessor failure analysis.
+        </description>
+    </property>
+    <property>
+        <name>hbase.online.schema.update.enable</name>
+        <value>false</value>
+        <description>
+            Set true to enable online schema changes. This is an experimental feature.
+            There are known issues modifying table schemas at the same time a region
+            split is happening so your table needs to be quiescent or else you have to
+            be running with splits disabled.
+        </description>
+    </property>
+    <property>
+        <name>dfs.support.append</name>
+        <value>true</value>
+        <description>Does HDFS allow appends to files?
+            This is an hdfs config. set in here so the hdfs client will do append support.
+            You must ensure that this config. is true serverside too when running hbase
+            (You will have to restart your cluster after setting it).
+        </description>
+    </property>
+    <property>
+        <name>hbase.thrift.minWorkerThreads</name>
+        <value>16</value>
+        <description>
+            The "core size" of the thread pool. New threads are created on every
+            connection until this many threads are created.
+        </description>
+    </property>
+    <property>
+        <name>hbase.thrift.maxWorkerThreads</name>
+        <value>1000</value>
+        <description>
+            The maximum size of the thread pool. When the pending request queue
+            overflows, new threads are created until their number reaches this number.
+            After that, the server starts dropping connections.
+        </description>
+    </property>
+    <property>
+        <name>hbase.thrift.maxQueuedRequests</name>
+        <value>1000</value>
+        <description>
+            The maximum number of pending Thrift connections waiting in the queue. If
+            there are no idle threads in the pool, the server queues requests. Only
+            when the queue overflows, new threads are added, up to
+            hbase.thrift.maxQueuedRequests threads.
+        </description>
+    </property>
+    <property>
+        <name>hbase.offheapcache.percentage</name>
+        <value>0</value>
+        <description>
+            The amount of off heap space to be allocated towards the experimental
+            off heap cache. If you desire the cache to be disabled, simply set this
+            value to 0.
+        </description>
+    </property>
+    <property>
+        <name>hbase.data.umask.enable</name>
+        <value>false</value>
+        <description>Enable, if true, that file permissions should be assigned
+            to the files written by the regionserver
+        </description>
+    </property>
+    <property>
+        <name>hbase.data.umask</name>
+        <value>000</value>
+        <description>File permissions that should be used to write data
+            files when hbase.data.umask.enable is true
+        </description>
+    </property>
 
-  <property>
-    <name>hbase.metrics.showTableName</name>
-    <value>true</value>
-    <description>Whether to include the prefix "tbl.tablename" in per-column family metrics.
-      If true, for each metric M, per-cf metrics will be reported for tbl.T.cf.CF.M, if false,
-      per-cf metrics will be aggregated by column-family across tables, and reported for cf.CF.M.
-      In both cases, the aggregated metric M across tables and cfs will be reported.
-    </description>
-  </property>
-  <property>
-    <name>hbase.table.archive.directory</name>
-    <value>.archive</value>
-    <description>Per-table directory name under which to backup files for a
-      table. Files are moved to the same directories as they would be under the
-      table directory, but instead are just one level lower (under
-      table/.archive/... rather than table/...). Currently only applies to HFiles.</description>
-  </property>
-  <property>
-    <name>hbase.master.hfilecleaner.plugins</name>
-    <value>org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner</value>
-    <description>A comma-separated list of HFileCleanerDelegate invoked by
-      the HFileCleaner service. These HFiles cleaners are called in order,
-      so put the cleaner that prunes the most files in front. To
-      implement your own HFileCleanerDelegate, just put it in HBase's classpath
-      and add the fully qualified class name here. Always add the above
-      default log cleaners in the list as they will be overwritten in hbase-site.xml.
-    </description>
-  </property>
-  <property>
-    <name>hbase.rest.threads.max</name>
-    <value>100</value>
-    <description>
-      The maximum number of threads of the REST server thread pool.
-      Threads in the pool are reused to process REST requests. This
-      controls the maximum number of requests processed concurrently.
-      It may help to control the memory used by the REST server to
-      avoid OOM issues. If the thread pool is full, incoming requests
-      will be queued up and wait for some free threads. The default
-      is 100.
-    </description>
-  </property>
-  <property>
-    <name>hbase.rest.threads.min</name>
-    <value>2</value>
-    <description>
-      The minimum number of threads of the REST server thread pool.
-      The thread pool always has at least these number of threads so
-      the REST server is ready to serve incoming requests. The default
-      is 2.
-    </description>
-  </property>
+    <property>
+        <name>hbase.metrics.showTableName</name>
+        <value>true</value>
+        <description>Whether to include the prefix "tbl.tablename" in per-column family metrics.
+            If true, for each metric M, per-cf metrics will be reported for tbl.T.cf.CF.M, if false,
+            per-cf metrics will be aggregated by column-family across tables, and reported for cf.CF.M.
+            In both cases, the aggregated metric M across tables and cfs will be reported.
+        </description>
+    </property>
+    <property>
+        <name>hbase.table.archive.directory</name>
+        <value>.archive</value>
+        <description>Per-table directory name under which to backup files for a
+            table. Files are moved to the same directories as they would be under the
+            table directory, but instead are just one level lower (under
+            table/.archive/... rather than table/...). Currently only applies to HFiles.
+        </description>
+    </property>
+    <property>
+        <name>hbase.master.hfilecleaner.plugins</name>
+        <value>org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner</value>
+        <description>A comma-separated list of HFileCleanerDelegate invoked by
+            the HFileCleaner service. These HFiles cleaners are called in order,
+            so put the cleaner that prunes the most files in front. To
+            implement your own HFileCleanerDelegate, just put it in HBase's classpath
+            and add the fully qualified class name here. Always add the above
+            default log cleaners in the list as they will be overwritten in hbase-site.xml.
+        </description>
+    </property>
+    <property>
+        <name>hbase.rest.threads.max</name>
+        <value>100</value>
+        <description>
+            The maximum number of threads of the REST server thread pool.
+            Threads in the pool are reused to process REST requests. This
+            controls the maximum number of requests processed concurrently.
+            It may help to control the memory used by the REST server to
+            avoid OOM issues. If the thread pool is full, incoming requests
+            will be queued up and wait for some free threads. The default
+            is 100.
+        </description>
+    </property>
+    <property>
+        <name>hbase.rest.threads.min</name>
+        <value>2</value>
+        <description>
+            The minimum number of threads of the REST server thread pool.
+            The thread pool always has at least these number of threads so
+            the REST server is ready to serve incoming requests. The default
+            is 2.
+        </description>
+    </property>
 </configuration>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/a88e1cef/eagle-core/eagle-embed/eagle-embed-hbase/src/test/java/org/apache/eagle/service/hbase/TestHBaseBase.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-embed/eagle-embed-hbase/src/test/java/org/apache/eagle/service/hbase/TestHBaseBase.java b/eagle-core/eagle-embed/eagle-embed-hbase/src/test/java/org/apache/eagle/service/hbase/TestHBaseBase.java
index bc4f68f..31af2a1 100644
--- a/eagle-core/eagle-embed/eagle-embed-hbase/src/test/java/org/apache/eagle/service/hbase/TestHBaseBase.java
+++ b/eagle-core/eagle-embed/eagle-embed-hbase/src/test/java/org/apache/eagle/service/hbase/TestHBaseBase.java
@@ -17,8 +17,10 @@
 package org.apache.eagle.service.hbase;
 
 import org.apache.hadoop.conf.Configuration;
-import org.junit.*;
-
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
 
 
 @Ignore
@@ -30,8 +32,8 @@ public class TestHBaseBase {
         hbase = EmbeddedHbase.getInstance();
     }
 
-    public static void setupHBaseWithConfig(Configuration config){
-        Assert.assertTrue("HBase test mini cluster should not start",null == hbase);
+    public static void setupHBaseWithConfig(Configuration config) {
+        Assert.assertTrue("HBase test mini cluster should not start", null == hbase);
         hbase = EmbeddedHbase.getInstance(config);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/a88e1cef/eagle-core/eagle-embed/eagle-embed-server/src/test/java/org/apache/eagle/service/embedded/tomcat/TestEmbeddedServer.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-embed/eagle-embed-server/src/test/java/org/apache/eagle/service/embedded/tomcat/TestEmbeddedServer.java b/eagle-core/eagle-embed/eagle-embed-server/src/test/java/org/apache/eagle/service/embedded/tomcat/TestEmbeddedServer.java
index 5299e0c..ec3439e 100644
--- a/eagle-core/eagle-embed/eagle-embed-server/src/test/java/org/apache/eagle/service/embedded/tomcat/TestEmbeddedServer.java
+++ b/eagle-core/eagle-embed/eagle-embed-server/src/test/java/org/apache/eagle/service/embedded/tomcat/TestEmbeddedServer.java
@@ -21,10 +21,10 @@ import org.junit.Test;
 
 @Ignore
 public class TestEmbeddedServer {
-	
-	@Test
-	public void test() throws Throwable{
-		String webappDirLocation = "../../../eagle-webservice/target/eagle-service";
-		EmbeddedServer.getInstance(webappDirLocation);
-	}
+
+    @Test
+    public void test() throws Throwable {
+        String webappDirLocation = "../../../eagle-webservice/target/eagle-service";
+        EmbeddedServer.getInstance(webappDirLocation);
+    }
 }
\ No newline at end of file



Mime
View raw message