diff --git a/docs/0.9.2/ncservice.html b/docs/0.9.2/ncservice.html
new file mode 100644
index 0000000..3db6c21
--- /dev/null
+++ b/docs/0.9.2/ncservice.html
@@ -0,0 +1,1742 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia at 2017-07-27
+ | Rendered using Apache Maven Fluido Skin 1.3.0
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="Date-Revision-yyyymmdd" content="20170727" />
+    <meta http-equiv="Content-Language" content="en" />
+    <title>AsterixDB &#x2013; <a id="toc">Table of Contents</a></title>
+    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
+    <link rel="stylesheet" href="./css/site.css" />
+    <link rel="stylesheet" href="./css/print.css" media="print" />
+
+      
+    <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script>
+
+                          
+        
+<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+        ga('create', 'UA-41536543-1', 'uci.edu');
+        ga('send', 'pageview');</script>
+          
+            </head>
+        <body class="topBarDisabled">
+          
+                
+                    
+    
+        <div class="container-fluid">
+          <div id="banner">
+        <div class="pull-left">
+                                                  <a href="./" id="bannerLeft">
+                                                                                                <img src="images/asterixlogo.png"  alt="AsterixDB"/>
+                </a>
+                      </div>
+        <div class="pull-right">  </div>
+        <div class="clear"><hr/></div>
+      </div>
+
+      <div id="breadcrumbs">
+        <ul class="breadcrumb">
+                
+                    
+                  <li id="publishDate">Last Published: 2017-07-27</li>
+                      
+                
+                    
+                 <li id="projectVersion" class="pull-right">Version: 0.9.2-SNAPSHOT</li>
+      
+                                            <li class="divider pull-right">|</li>
+                        
+    <li class="pull-right">              <a href="index.html" title="Documentation Home">
+        Documentation Home</a>
+  </li>
+
+                        </ul>
+      </div>
+
+            
+      <div class="row-fluid">
+        <div id="leftColumn" class="span3">
+          <div class="well sidebar-nav">
+                
+                    
+                <ul class="nav nav-list">
+                    <li class="nav-header">Get Started - Installation</li>
+                                
+      <li class="active">
+    
+            <a href="#"><i class="none"></i>Option 1: using NCService</a>
+          </li>
+                  
+      <li>
+    
+                          <a href="ansible.html" title="Option 2: using Ansible">
+          <i class="none"></i>
+        Option 2: using Ansible</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="aws.html" title="Option 3: using Amazon Web Services">
+          <i class="none"></i>
+        Option 3: using Amazon Web Services</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="yarn.html" title="Option 4: using YARN">
+          <i class="none"></i>
+        Option 4: using YARN</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="install.html" title="Option 5: using Managix (deprecated)">
+          <i class="none"></i>
+        Option 5: using Managix (deprecated)</a>
+            </li>
+                              <li class="nav-header">AsterixDB Primer</li>
+                                
+      <li>
+    
+                          <a href="sqlpp/primer-sqlpp.html" title="Option 1: using SQL++">
+          <i class="none"></i>
+        Option 1: using SQL++</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="aql/primer.html" title="Option 2: using AQL">
+          <i class="none"></i>
+        Option 2: using AQL</a>
+            </li>
+                              <li class="nav-header">Data Model</li>
+                                
+      <li>
+    
+                          <a href="datamodel.html" title="The Asterix Data Model">
+          <i class="none"></i>
+        The Asterix Data Model</a>
+            </li>
+                              <li class="nav-header">Queries - SQL++</li>
+                                
+      <li>
+    
+                          <a href="sqlpp/manual.html" title="The SQL++ Query Language">
+          <i class="none"></i>
+        The SQL++ Query Language</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="sqlpp/builtins.html" title="Builtin Functions">
+          <i class="none"></i>
+        Builtin Functions</a>
+            </li>
+                              <li class="nav-header">Queries - AQL</li>
+                                
+      <li>
+    
+                          <a href="aql/manual.html" title="The Asterix Query Language (AQL)">
+          <i class="none"></i>
+        The Asterix Query Language (AQL)</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="aql/builtins.html" title="Builtin Functions">
+          <i class="none"></i>
+        Builtin Functions</a>
+            </li>
+                              <li class="nav-header">API/SDK</li>
+                                
+      <li>
+    
+                          <a href="api.html" title="HTTP API">
+          <i class="none"></i>
+        HTTP API</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="csv.html" title="CSV Output">
+          <i class="none"></i>
+        CSV Output</a>
+            </li>
+                              <li class="nav-header">Advanced Features</li>
+                                
+      <li>
+    
+                          <a href="aql/fulltext.html" title="Support of Full-text Queries">
+          <i class="none"></i>
+        Support of Full-text Queries</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="aql/externaldata.html" title="Accessing External Data">
+          <i class="none"></i>
+        Accessing External Data</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="feeds/tutorial.html" title="Support for Data Ingestion">
+          <i class="none"></i>
+        Support for Data Ingestion</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="udf.html" title="User Defined Functions">
+          <i class="none"></i>
+        User Defined Functions</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="aql/filters.html" title="Filter-Based LSM Index Acceleration">
+          <i class="none"></i>
+        Filter-Based LSM Index Acceleration</a>
+            </li>
+                  
+      <li>
+    
+                          <a href="aql/similarity.html" title="Support of Similarity Queries">
+          <i class="none"></i>
+        Support of Similarity Queries</a>
+            </li>
+            </ul>
+                
+                    
+                
+          <hr class="divider" />
+
+           <div id="poweredBy">
+                            <div class="clear"></div>
+                            <div class="clear"></div>
+                            <div class="clear"></div>
+                                                                                                                         <a href="./" title="AsterixDB" class="builtBy">
+        <img class="builtBy"  alt="AsterixDB" src="images/asterixlogo.png"    />
+      </a>
+                      </div>
+          </div>
+        </div>
+        
+                
+        <div id="bodyColumn"  class="span9" >
+                                  
+            <!-- ! Licensed to the Apache Software Foundation (ASF) under one
+ ! or more contributor license agreements.  See the NOTICE file
+ ! distributed with this work for additional information
+ ! regarding copyright ownership.  The ASF licenses this file
+ ! to you under the Apache License, Version 2.0 (the
+ ! "License"); you may not use this file except in compliance
+ ! with the License.  You may obtain a copy of the License at
+ !
+ !   http://www.apache.org/licenses/LICENSE-2.0
+ !
+ ! Unless required by applicable law or agreed to in writing,
+ ! software distributed under the License is distributed on an
+ ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ! KIND, either express or implied.  See the License for the
+ ! specific language governing permissions and limitations
+ ! under the License.
+ ! --><div class="section">
+<h2><a name="Table_of_Contents"></a><a name="toc" id="toc">Table of Contents</a></h2>
+
+<ul>
+  
+<li><a href="#quickstart">Quick Start</a></li>
+  
+<li><a href="#Small_cluster">Starting a small single-machine cluster using the NCService</a></li>
+  
+<li><a href="#Multi_machine">Deploying AsterixDB via NCService in a multi-machine setup</a></li>
+  
+<li><a href="#Parameters">Available Configuration Parameters</a></li>
+</ul>
+<h1><a name="quickstart" id="quickstart">Quick Start</a></h1>
+<p>The fastest way to get set up with a single-machine sample instance of AsterixDB is to use the included sample helper scripts. To do so, in the extracted <tt>asterix-server</tt> directory, navigate to <tt>opt/local/bin/</tt></p>
+
+<div class="source">
+<div class="source">
+<pre>user@localhost:~/
+$cd asterix-server/
+user@localhost:~/asterix-server
+$cd opt/local/bin
+</pre></div></div>
+<p>This folder should contain 4 scripts, two pairs of <tt>.sh</tt> and <tt>.bat</tt> files respectively. <tt>start-sample-cluster.sh</tt> will simply start a basic sample cluster using the configuration files located in <tt>opt/local/conf/</tt>.</p>
+
+<div class="source">
+<div class="source">
+<pre>user@localhost:~/a/o/l/bin
+$./start-sample-cluster.sh
+CLUSTERDIR=/home/user/asterix-server/opt/local
+INSTALLDIR=/home/user/asterix-server
+LOGSDIR=/home/user/asterix-server/samples/opt/logs
+
+INFO: Starting sample cluster...
+INFO: Waiting up to 30 seconds for cluster 127.0.0.1:19002 to be available.
+INFO: Cluster started and is ACTIVE.
+user@localhost:~/a/o/l/bin
+$
+</pre></div></div>
+<p>Now, there should be a running AsterixDB cluster on the machine. To go to the Web Interface, visit <a class="externalLink" href="http://localhost:19001">http://localhost:19001</a></p>
+
+<div class="source">
+
+<div class="source">
+<pre>
+<img src="images/asterixdb_interface.png" alt="The AsterixDB Web Interface" />
+<i>Fig. 1</i>: The AsterixDB Web Interface
+</pre></div>
+</div>
+<h1><a name="Small_cluster" id="Small_cluster">Starting a small single-machine cluster using NCService</a></h1>
+<p>The above cluster was started using a script, but below is a description in detail of how precisely this was achieved. The config files here are analagous to the ones within <tt>samples/local/conf</tt>.</p>
+<p>When running a cluster using the <tt>NCService</tt> there are 3 different kinds of processes involved:</p>
+
+<ul>
+  
+<li><tt>NCDriver</tt>, also known as the Node Controller or NC for short. This is the  process that does the actual work of queries and data management within the  AsterixDB cluster</li>
+  
+<li><tt>NCService</tt> configures and starts the <tt>NCDriver</tt> process. It is a simple  daemon whose only purpose is to wait for the <tt>CCDriver</tt> process to call  upon it to initiate cluster bootup.</li>
+  
+<li><tt>CCDriver</tt>, which is the Cluster Controller process, also known as the CC.  This process manages the distribution of tasks to all NCs, as well as providing  the parameters of each NC to the NCService upon cluster startup. It also hosts  the Web interface and query compiler and optimizer.</li>
+</ul>
+<p>The cluster startup follows a particular sequence, which is as follows:</p>
+
+<ol style="list-style-type: decimal">
+  
+<li>Each host on which an NC is desired and is mentioned in the configuration,  the <tt>NCService</tt> daemon is started first. It will listen and wait for the CC  to contact it.</li>
+  
+<li>The one host on which the CC is to be placed is started with an appropriate  configuration file.</li>
+  
+<li>The CC contacts all <tt>NCService</tt> daemons and the <tt>NCService</tt> subsequently starts  and <tt>NCDriver</tt> process with the configration supplied by the <tt>CC</tt></li>
+  
+<li>Each <tt>NCDriver</tt> then contacts the CC to register itself as started</li>
+</ol>
+<p>This process is briefly illustrated in the diagram below:</p>
+
+<div class="source">
+
+<div class="source">
+<pre>
+<img src="images/ncservice.png" alt="The AsterixDB Web Interface" />
+<i>Fig. 2</i>: NCService startup sequence
+</pre></div>
+</div>
+<p>To start a small cluster consisting of 2 NodeControllers (<tt>red</tt> and <tt>blue</tt>) and 1 ClusterController (<tt>cc</tt>) on a single machine only 2 configuration files are required. The first one is</p>
+<p><tt>blue.conf</tt>:</p>
+
+<div class="source">
+<div class="source">
+<pre>[ncservice]
+port=9091
+</pre></div></div>
+<p>It is a configuration file for the second <tt>NCService</tt>. This contains only the port that the <tt>NCService</tt> of the second NodeControllers listens to as it is non-standard. The first <tt>NCService</tt> does not need a configuration file, as it only uses default parameters. In a distributed environment with 1 NodeController per machine, no <tt>NCService</tt> needs a configuration file.</p>
+<p>The second configuration file is</p>
+<p><tt>cc.conf</tt>:</p>
+
+<div class="source">
+<div class="source">
+<pre>[nc/red]
+txn.log.dir=/tmp/asterix/red/txnlog
+core.dump.dir=/tmp/asterix/red/coredump
+iodevices=/tmp/asterix/red
+
+[nc/blue]
+port=9091
+txn.log.dir=/tmp/asterix/blue/txnlog
+core.dump.dir=/tmp/asterix/blue/coredump
+iodevices=/tmp/asterix/blue
+
+[nc]
+app.class=org.apache.asterix.hyracks.bootstrap.NCApplicationEntryPoint
+storage.subdir=storage
+address=127.0.0.1
+command=asterixnc
+
+[cc]
+address = 127.0.0.1
+console.listen.port = 12345
+</pre></div></div>
+<p>This is the configuration file for the cluster and it contains information that each <tt>NCService</tt> will use when starting the corresponding <tt>NCDriver</tt> as well as information for the <tt>CCDriver</tt>.</p>
+<p>To start the cluster simply use the following steps</p>
+
+<ol style="list-style-type: decimal">
+  
+<li>
+<p>Change directory into the asterix-server binary folder</p>
+  
+<div class="source">
+<div class="source">
+<pre>user@localhost:~/
+$cd asterix-server/
+user@localhost:~/asterix-server
+$cd samples/local/bin
+</pre></div></div></li>
+  
+<li>
+<p>Start the 2 <tt>NCServices</tt> for <tt>red</tt> and <tt>blue</tt>.</p>
+  
+<div class="source">
+<div class="source">
+<pre>user@localhost:~/asterix-server
+$bin/asterixncservice -config-file blue.conf &gt; blue-service.log 2&gt;&amp;1 &amp;
+user@localhost:~/asterix-server
+$bin/asterixncservice &gt;red-service.log 2&gt;&amp;1 &amp;
+</pre></div></div></li>
+  
+<li>
+<p>Start the <tt>CCDriver</tt>.</p>
+  
+<div class="source">
+<div class="source">
+<pre>user@localhost:~/asterix-server
+$bin/asterixcc -config-file cc.conf &gt; cc.log 2&gt;&amp;1 &amp;
+</pre></div></div></li>
+</ol>
+<p>The <tt>CCDriver</tt> will connect to the <tt>NCServices</tt> and thus initiate the configuration and the start of the <tt>NCDrivers</tt>. After running these scripts, <tt>jps</tt> should show a result similar to this:</p>
+
+<div class="source">
+<div class="source">
+<pre>user@localhost:~/asterix-server
+$jps
+13184 NCService
+13200 NCDriver
+13185 NCService
+13186 CCDriver
+13533 Jps
+13198 NCDriver
+</pre></div></div>
+<p>The logs for the <tt>NCDrivers</tt> will be in <tt>$BASEDIR/logs</tt>.</p>
+<p>To stop the cluster again simply run</p>
+
+<div class="source">
+<div class="source">
+<pre>$ kill `jps | egrep '(CDriver|NCService)' | awk '{print $1}'`
+</pre></div></div>
+<p>to kill all processes.</p>
+<h1><a name="Multi_machine" id="Multi_machine">Deploying AsterixDB via NCService in a multi-machine setup</a></h1>
+<p>Deploying on multiple machines only differs in the configuration file and where each process is actually resident. Take for example a deployment on 3 machines, <tt>cacofonix-1</tt>,<tt>cacofonix-2</tt>,and <tt>cacofonix-3</tt>. <tt>cacofonix-1</tt> will be the CC, and <tt>cacofonix-2</tt> and <tt>cacofonix-3</tt> will be the two NCs, respectively. The configuration would be as follows:</p>
+<p><tt>cc.conf</tt>:</p>
+
+<div class="source">
+<div class="source">
+<pre>[nc/red]
+txn.log.dir=/lv_scratch/asterix/red/txnlog
+core.dump.dir=/lv_scratch/asterix/red/coredump
+iodevices=/lv_scratch/asterix/red
+address=cacofonix-2
+
+[nc/blue]
+txn.log.dir=/lv_scratch/asterix/blue/txnlog
+core.dump.dir=/lv_scratch/asterix/blue/coredump
+iodevices=/lv_scratch/asterix/blue
+address=cacofonix-3
+
+[nc]
+app.class=org.apache.asterix.hyracks.bootstrap.NCApplicationEntryPoint
+storagedir=storage
+command=asterixnc
+
+[cc]
+address = cacofonix-1
+</pre></div></div>
+<p>To deploy, first the <tt>asterix-server</tt> binary must be present on each machine. Any method to transfer the archive to each machine will work, but here <tt>scp</tt> will be used for simplicity&#x2019;s sake.</p>
+
+<div class="source">
+<div class="source">
+<pre>user@localhost:~
+$for f in {1,2,3}; scp asterix-server.zip cacofonix-$f:~/; end
+</pre></div></div>
+<p>Then unzip the binary on each machine. First, start the <tt>NCService</tt> processes on each of the slave machines. Any way of getting a shell on the machine is fine, be it physical or via <tt>ssh</tt>.</p>
+
+<div class="source">
+<div class="source">
+<pre>user@cacofonix-2 12:41:42 ~/asterix-server/
+$ bin/asterixncservice &gt; red-service.log 2&gt;&amp;1 &amp;
+
+
+user@cacofonix-3 12:41:42 ~/asterix-server/
+$ bin/asterixncservice &gt; blue-service.log 2&gt;&amp;1 &amp;
+</pre></div></div>
+<p>Now that each <tt>NCService</tt> is waiting, the CC can be started.</p>
+
+<div class="source">
+<div class="source">
+<pre>user@cacofonix-1 12:41:42 ~/asterix-server/
+$ bin/asterixcc -config-file cc.conf &gt; cc.log 2&gt;&amp;1 &amp;
+</pre></div></div>
+<p>The cluster should now be started and the Web UI available on the CC host at the default port.</p>
+<h1><a name="Parameters" id="Parameters">Available Configuration Parameters</a></h1>
+<p>The following parameters are for the master process, under the &#x201c;[cc]&#x201d; section.</p>
+
+<table border="0" class="table table-striped">
+  <thead>
+    
+<tr class="a">
+      
+<th>Section </th>
+      
+<th>Parameter </th>
+      
+<th>Meaning </th>
+      
+<th>Default </th>
+    </tr>
+  </thead>
+  <tbody>
+    
+<tr class="b">
+      
+<td>cc </td>
+      
+<td>active.port </td>
+      
+<td>The listen port of the active server </td>
+      
+<td>19003 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>cc </td>
+      
+<td>address </td>
+      
+<td>Default bind address for all services on this cluster controller </td>
+      
+<td>127.0.0.1 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>cc </td>
+      
+<td>api.port </td>
+      
+<td>The listen port of the API server </td>
+      
+<td>19002 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>cc </td>
+      
+<td>app.class </td>
+      
+<td>Application CC main class </td>
+      
+<td>org.apache.asterix.hyracks.bootstrap.CCApplication </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>cc </td>
+      
+<td>client.listen.address </td>
+      
+<td>Sets the IP Address to listen for connections from clients </td>
+      
+<td>same as address </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>cc </td>
+      
+<td>client.listen.port </td>
+      
+<td>Sets the port to listen for connections from clients </td>
+      
+<td>1098 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>cc </td>
+      
+<td>cluster.listen.address </td>
+      
+<td>Sets the IP Address to listen for connections from NCs </td>
+      
+<td>same as address </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>cc </td>
+      
+<td>cluster.listen.port </td>
+      
+<td>Sets the port to listen for connections from node controllers </td>
+      
+<td>1099 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>cc </td>
+      
+<td>cluster.public.address </td>
+      
+<td>Address that NCs should use to contact this CC </td>
+      
+<td>same as cluster.listen.address </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>cc </td>
+      
+<td>cluster.public.port </td>
+      
+<td>Port that NCs should use to contact this CC </td>
+      
+<td>same as cluster.listen.port </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>cc </td>
+      
+<td>cluster.topology </td>
+      
+<td>Sets the XML file that defines the cluster topology </td>
+      
+<td>&lt;undefined&gt; </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>cc </td>
+      
+<td>console.listen.address </td>
+      
+<td>Sets the listen address for the Cluster Controller </td>
+      
+<td>same as address </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>cc </td>
+      
+<td>console.listen.port </td>
+      
+<td>Sets the http port for the Cluster Controller) </td>
+      
+<td>16001 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>cc </td>
+      
+<td>heartbeat.max.misses </td>
+      
+<td>Sets the maximum number of missed heartbeats before a node is marked as dead </td>
+      
+<td>5 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>cc </td>
+      
+<td>heartbeat.period </td>
+      
+<td>Sets the time duration between two heartbeats from each node controller in milliseconds </td>
+      
+<td>10000 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>cc </td>
+      
+<td>job.history.size </td>
+      
+<td>Limits the number of historical jobs remembered by the system to the specified value </td>
+      
+<td>10 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>cc </td>
+      
+<td>job.manager.class </td>
+      
+<td>Specify the implementation class name for the job manager </td>
+      
+<td>org.apache.hyracks.control.cc.job.JobManager </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>cc </td>
+      
+<td>job.queue.capacity </td>
+      
+<td>The maximum number of jobs to queue before rejecting new jobs </td>
+      
+<td>4096 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>cc </td>
+      
+<td>job.queue.class </td>
+      
+<td>Specify the implementation class name for the job queue </td>
+      
+<td>org.apache.hyracks.control.cc.scheduler.FIFOJobQueue </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>cc </td>
+      
+<td>profile.dump.period </td>
+      
+<td>Sets the time duration between two profile dumps from each node controller in milliseconds; 0 to disable </td>
+      
+<td>0 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>cc </td>
+      
+<td>result.sweep.threshold </td>
+      
+<td>The duration within which an instance of the result cleanup should be invoked in milliseconds </td>
+      
+<td>60000 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>cc </td>
+      
+<td>result.ttl </td>
+      
+<td>Limits the amount of time results for asynchronous jobs should be retained by the system in milliseconds </td>
+      
+<td>86400000 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>cc </td>
+      
+<td>root.dir </td>
+      
+<td>Sets the root folder used for file operations </td>
+      
+<td>${java.io.tmpdir}/asterixdb/ClusterControllerService </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>cc </td>
+      
+<td>web.port </td>
+      
+<td>The listen port of the legacy query interface </td>
+      
+<td>19001 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>cc </td>
+      
+<td>web.queryinterface.port </td>
+      
+<td>The listen port of the query web interface </td>
+      
+<td>19006 </td>
+    </tr>
+  </tbody>
+</table>
+<p>The following parameters for slave processes, under &#x201c;[nc]&#x201d; sections.</p>
+
+<table border="0" class="table table-striped">
+  <thead>
+    
+<tr class="a">
+      
+<th>Section </th>
+      
+<th>Parameter </th>
+      
+<th>Meaning </th>
+      
+<th>Default </th>
+    </tr>
+  </thead>
+  <tbody>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>address </td>
+      
+<td>Default IP Address to bind listeners on this NC. All services will bind on this address unless a service-specific listen address is supplied. </td>
+      
+<td>127.0.0.1 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>app.class </td>
+      
+<td>Application NC Main Class </td>
+      
+<td>org.apache.asterix.hyracks.bootstrap.NCApplication </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>cluster.address </td>
+      
+<td>Cluster Controller address (required unless specified in config file) </td>
+      
+<td>&lt;undefined&gt; </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>cluster.connect.retries </td>
+      
+<td>Number of attempts to contact CC before giving up </td>
+      
+<td>5 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>cluster.listen.address </td>
+      
+<td>IP Address to bind cluster listener on this NC </td>
+      
+<td>same as address </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>cluster.listen.port </td>
+      
+<td>IP port to bind cluster listener </td>
+      
+<td>0 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>cluster.port </td>
+      
+<td>Cluster Controller port </td>
+      
+<td>1099 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>cluster.public.address </td>
+      
+<td>Public IP Address to announce cluster listener </td>
+      
+<td>same as public.address </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>cluster.public.port </td>
+      
+<td>Public IP port to announce cluster listener </td>
+      
+<td>same as cluster.listen.port </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>command </td>
+      
+<td>Command NCService should invoke to start the NCDriver </td>
+      
+<td>hyracksnc </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>core.dump.dir </td>
+      
+<td>The directory where node core dumps should be written </td>
+      
+<td>${java.io.tmpdir}/asterixdb/coredump </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>data.listen.address </td>
+      
+<td>IP Address to bind data listener </td>
+      
+<td>same as address </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>data.listen.port </td>
+      
+<td>IP port to bind data listener </td>
+      
+<td>0 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>data.public.address </td>
+      
+<td>Public IP Address to announce data listener </td>
+      
+<td>same as public.address </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>data.public.port </td>
+      
+<td>Public IP port to announce data listener </td>
+      
+<td>same as data.listen.port </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>iodevices </td>
+      
+<td>Comma separated list of IO Device mount points </td>
+      
+<td>${java.io.tmpdir}/asterixdb/iodevice </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>jvm.args </td>
+      
+<td>JVM args to pass to the NCDriver </td>
+      
+<td>&lt;undefined&gt; </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>messaging.listen.address </td>
+      
+<td>IP Address to bind messaging listener </td>
+      
+<td>same as address </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>messaging.listen.port </td>
+      
+<td>IP port to bind messaging listener </td>
+      
+<td>0 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>messaging.public.address </td>
+      
+<td>Public IP Address to announce messaging listener </td>
+      
+<td>same as public.address </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>messaging.public.port </td>
+      
+<td>Public IP port to announce messaging listener </td>
+      
+<td>same as messaging.listen.port </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>ncservice.address </td>
+      
+<td>Address the CC should use to contact the NCService associated with this NC </td>
+      
+<td>same as public.address </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>ncservice.pid </td>
+      
+<td>PID of the NCService which launched this NCDriver </td>
+      
+<td>-1 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>ncservice.port </td>
+      
+<td>Port the CC should use to contact the NCService associated with this NC </td>
+      
+<td>9090 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>net.buffer.count </td>
+      
+<td>Number of network buffers per input/output channel </td>
+      
+<td>1 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>net.thread.count </td>
+      
+<td>Number of threads to use for Network I/O </td>
+      
+<td>1 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>public.address </td>
+      
+<td>Default public address that other processes should use to contact this NC. All services will advertise this address unless a service-specific public address is supplied. </td>
+      
+<td>same as address </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>result.listen.address </td>
+      
+<td>IP Address to bind dataset result distribution listener </td>
+      
+<td>same as address </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>result.listen.port </td>
+      
+<td>IP port to bind dataset result distribution listener </td>
+      
+<td>0 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>result.manager.memory </td>
+      
+<td>Memory usable for result caching at this Node Controller in bytes </td>
+      
+<td>-1 (-1 B) </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>result.public.address </td>
+      
+<td>Public IP Address to announce dataset result distribution listener </td>
+      
+<td>same as public.address </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>result.public.port </td>
+      
+<td>Public IP port to announce dataset result distribution listener </td>
+      
+<td>same as result.listen.port </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>result.sweep.threshold </td>
+      
+<td>The duration within which an instance of the result cleanup should be invoked in milliseconds </td>
+      
+<td>60000 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>result.ttl </td>
+      
+<td>Limits the amount of time results for asynchronous jobs should be retained by the system in milliseconds </td>
+      
+<td>86400000 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>storage.buffercache.maxopenfiles </td>
+      
+<td>The maximum number of open files in the buffer cache </td>
+      
+<td>2147483647 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>storage.buffercache.pagesize </td>
+      
+<td>The page size in bytes for pages in the buffer cache </td>
+      
+<td>131072 (128 kB) </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>storage.buffercache.size </td>
+      
+<td>The size of memory allocated to the disk buffer cache. The value should be a multiple of the buffer cache page size. </td>
+      
+<td>715915264 (682.75 MB) </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>storage.lsm.bloomfilter.falsepositiverate </td>
+      
+<td>The maximum acceptable false positive rate for bloom filters associated with LSM indexes </td>
+      
+<td>0.01 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>storage.memorycomponent.globalbudget </td>
+      
+<td>The size of memory allocated to the memory components. The value should be a multiple of the memory component page size </td>
+      
+<td>715915264 (682.75 MB) </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>storage.memorycomponent.numcomponents </td>
+      
+<td>The number of memory components to be used per lsm index </td>
+      
+<td>2 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>storage.memorycomponent.numpages </td>
+      
+<td>The number of pages to allocate for a memory component. This budget is shared by all the memory components of the primary index and all its secondary indexes across all I/O devices on a node. Note: in-memory components usually has fill factor of 75% since the pages are 75% full and the remaining 25% is un-utilized </td>
+      
+<td>1/16th of the storage.memorycomponent.globalbudget value </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>storage.memorycomponent.pagesize </td>
+      
+<td>The page size in bytes for pages allocated to memory components </td>
+      
+<td>131072 (128 kB) </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>storage.metadata.memorycomponent.numpages </td>
+      
+<td>The number of pages to allocate for a metadata memory component </td>
+      
+<td>1/64th of the storage.memorycomponent.globalbudget value or 256, whichever is larger </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>nc </td>
+      
+<td>storage.subdir </td>
+      
+<td>The subdirectory name under each iodevice used for storage </td>
+      
+<td>storage </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>nc </td>
+      
+<td>txn.log.dir </td>
+      
+<td>The directory where transaction logs should be stored </td>
+      
+<td>${java.io.tmpdir}/asterixdb/txn-log </td>
+    </tr>
+  </tbody>
+</table>
+<p>The following parameters are configured under the &#x201c;[common]&#x201d; section.</p>
+
+<table border="0" class="table table-striped">
+  <thead>
+    
+<tr class="a">
+      
+<th>Section </th>
+      
+<th>Parameter </th>
+      
+<th>Meaning </th>
+      
+<th>Default </th>
+    </tr>
+  </thead>
+  <tbody>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>active.memory.global.budget </td>
+      
+<td>The memory budget (in bytes) for the active runtime </td>
+      
+<td>67108864 (64 MB) </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>compiler.framesize </td>
+      
+<td>The page size (in bytes) for computation </td>
+      
+<td>32768 (32 kB) </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>compiler.groupmemory </td>
+      
+<td>The memory budget (in bytes) for a group by operator instance in a partition </td>
+      
+<td>33554432 (32 MB) </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>compiler.joinmemory </td>
+      
+<td>The memory budget (in bytes) for a join operator instance in a partition </td>
+      
+<td>33554432 (32 MB) </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>compiler.parallelism </td>
+      
+<td>The degree of parallelism for query execution. Zero means to use the storage parallelism as the query execution parallelism, while other integer values dictate the number of query execution parallel partitions. The system will fall back to use the number of all available CPU cores in the cluster as the degree of parallelism if the number set by a user is too large or too small </td>
+      
+<td>0 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>compiler.sortmemory </td>
+      
+<td>The memory budget (in bytes) for a sort operator instance in a partition </td>
+      
+<td>33554432 (32 MB) </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>instance.name </td>
+      
+<td>The name of this cluster instance </td>
+      
+<td>DEFAULT_INSTANCE </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>log.level </td>
+      
+<td>The logging level for master and slave processes </td>
+      
+<td>WARNING </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>max.wait.active.cluster </td>
+      
+<td>The max pending time (in seconds) for cluster startup. After the threshold, if the cluster still is not up and running, it is considered unavailable </td>
+      
+<td>60 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>messaging.frame.count </td>
+      
+<td>Number of reusable frames for NC to NC messaging </td>
+      
+<td>512 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>messaging.frame.size </td>
+      
+<td>The frame size to be used for NC to NC messaging </td>
+      
+<td>4096 (4 kB) </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>metadata.callback.port </td>
+      
+<td>IP port to bind metadata callback listener (0 = random port) </td>
+      
+<td>0 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>metadata.listen.port </td>
+      
+<td>IP port to bind metadata listener (0 = random port) </td>
+      
+<td>0 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>metadata.node </td>
+      
+<td>the node which should serve as the metadata node </td>
+      
+<td>&lt;undefined&gt; </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>metadata.registration.timeout.secs </td>
+      
+<td>how long in seconds to wait for the metadata node to register with the CC </td>
+      
+<td>60 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>replication.log.batchsize </td>
+      
+<td>The size in bytes to replicate in each batch </td>
+      
+<td>4096 (4 kB) </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>replication.log.buffer.numpages </td>
+      
+<td>The number of log buffer pages </td>
+      
+<td>8 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>replication.log.buffer.pagesize </td>
+      
+<td>The size in bytes of each log buffer page </td>
+      
+<td>131072 (128 kB) </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>replication.max.remote.recovery.attempts </td>
+      
+<td>The maximum number of times to attempt to recover from a replica on failure before giving up </td>
+      
+<td>5 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>replication.timeout </td>
+      
+<td>The time in seconds to timeout when trying to contact a replica, before assuming it is dead </td>
+      
+<td>15 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>txn.commitprofiler.enabled </td>
+      
+<td>Enable output of commit profiler logs </td>
+      
+<td>false </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>txn.commitprofiler.reportinterval </td>
+      
+<td>Interval (in seconds) to report commit profiler logs </td>
+      
+<td>5 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>txn.job.recovery.memorysize </td>
+      
+<td>The memory budget (in bytes) used for recovery </td>
+      
+<td>67108864 (64 MB) </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>txn.lock.escalationthreshold </td>
+      
+<td>The maximum number of entity locks to obtain before upgrading to a dataset lock </td>
+      
+<td>1000 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>txn.lock.shrinktimer </td>
+      
+<td>The time (in milliseconds) where under utilization of resources will trigger a shrink phase </td>
+      
+<td>5000 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>txn.lock.timeout.sweepthreshold </td>
+      
+<td>Interval (in milliseconds) for checking lock timeout </td>
+      
+<td>10000 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>txn.lock.timeout.waitthreshold </td>
+      
+<td>Time out (in milliseconds) of waiting for a lock </td>
+      
+<td>60000 </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>txn.log.buffer.numpages </td>
+      
+<td>The number of pages in the transaction log tail </td>
+      
+<td>8 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>txn.log.buffer.pagesize </td>
+      
+<td>The page size (in bytes) for transaction log buffer </td>
+      
+<td>131072 (128 kB) </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>txn.log.checkpoint.history </td>
+      
+<td>The number of checkpoints to keep in the transaction log </td>
+      
+<td>0 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>txn.log.checkpoint.lsnthreshold </td>
+      
+<td>The checkpoint threshold (in terms of LSNs (log sequence numbers) that have been written to the transaction log, i.e., the length of the transaction log) for transaction logs </td>
+      
+<td>67108864 (64 MB) </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>common </td>
+      
+<td>txn.log.checkpoint.pollfrequency </td>
+      
+<td>The frequency (in seconds) the checkpoint thread should check to see if a checkpoint should be written </td>
+      
+<td>120 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>common </td>
+      
+<td>txn.log.partitionsize </td>
+      
+<td>The maximum size (in bytes) of each transaction log file </td>
+      
+<td>268435456 (256 MB) </td>
+    </tr>
+  </tbody>
+</table>
+<p>For the optional NCService process configuration file, the following parameters, under &#x201c;[ncservice]&#x201d; section.</p>
+
+<table border="0" class="table table-striped">
+  <thead>
+    
+<tr class="a">
+      
+<th>Parameter </th>
+      
+<th>Meaning </th>
+      
+<th>Default </th>
+    </tr>
+  </thead>
+  <tbody>
+    
+<tr class="b">
+      
+<td>address </td>
+      
+<td>The address the NCService listens on for commands from the CC </td>
+      
+<td>(all addresses) </td>
+    </tr>
+    
+<tr class="a">
+      
+<td>port </td>
+      
+<td>The port for the NCService listens on for commands from the CC </td>
+      
+<td>9090 </td>
+    </tr>
+    
+<tr class="b">
+      
+<td>logdir </td>
+      
+<td>Directory where NCService logs should be written (&#x2018;-&#x2019; indicates that output should go to stdout) </td>
+      
+<td>${app.home}/logs (${user.home} if &#x2018;app.home&#x2019; not present in NCService Java system properties. </td>
+    </tr>
+  </tbody>
+</table></div>
+                  </div>
+            </div>
+          </div>
+
+    <hr/>
+
+    <footer>
+            <div class="container-fluid">
+              <div class="row span12">Copyright &copy;                    2017
+                        <a href="https://www.apache.org/">The Apache Software Foundation</a>.
+            All Rights Reserved.      
+                    
+      </div>
+
+                                                                  <?xml version="1.0" encoding="UTF-8"?>
+<div class="row-fluid">Apache AsterixDB, AsterixDB, Apache, the Apache
+        feather logo, and the Apache AsterixDB project logo are either
+        registered trademarks or trademarks of The Apache Software
+        Foundation in the United States and other countries.
+        All other marks mentioned may be trademarks or registered
+        trademarks of their respective owners.</div>
+                  
+        
+                </div>
+    </footer>
+  </body>
+</html>
