Merge asterix-experiments to master

Change-Id: I79b91e045bd056e62adb6e48795a6625baee0062
Reviewed-on: https://asterix-gerrit.ics.uci.edu/642
Reviewed-by: Ian Maxon <imaxon@apache.org>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/1node.xml b/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/1node.xml
new file mode 100644
index 0000000..39c386f
--- /dev/null
+++ b/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/1node.xml
@@ -0,0 +1,39 @@
+<!--
+ ! Copyright 2009-2013 by The Regents of the University of California
+ ! Licensed 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 from
+ !
+ !     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.
+ !-->
+<cluster xmlns="cluster">
+	<name>1node</name>
+    <username>jenkins</username>
+	<working_dir>
+		<dir>/home/jenkins/asterixdb/working</dir>
+		<NFS>true</NFS>
+	</working_dir>
+	<log_dir>/home/jenkins/asterix/logs</log_dir>
+	<txn_log_dir>/home/jenkins/asterix/txnlogs</txn_log_dir>
+	<iodevices>/home/jenkins/asterix</iodevices>
+	<store>storage</store>
+	<java_home>/usr/lib/jvm/jre-1.8.0</java_home>
+	<master_node>
+		<id>master</id>
+		<cluster_ip>127.0.0.1</cluster_ip>
+		<cluster_port>1099</cluster_port>
+		<client_ip>127.0.0.1</client_ip>
+		<client_port>1098</client_port>
+		<http_port>8888</http_port>
+	</master_node>
+	<node>
+		<id>node1</id>
+		<cluster_ip>127.0.0.1</cluster_ip>
+	</node>
+</cluster>
diff --git a/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/2node.xml b/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/2node.xml
new file mode 100644
index 0000000..bc027c4
--- /dev/null
+++ b/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/2node.xml
@@ -0,0 +1,44 @@
+<!--
+ ! Copyright 2009-2013 by The Regents of the University of California
+ ! Licensed 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 from
+ !
+ !     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.
+ !-->
+<cluster xmlns="cluster">
+	<name>2node</name>
+    <username>youngsk2</username>
+	<working_dir>
+		<dir>/home/youngsk2/asterixdb/working</dir>
+		<NFS>true</NFS>
+	</working_dir>
+	<log_dir>/mnt/data/sde/youngsk2/asterix/logs</log_dir>
+	<txn_log_dir>/lv_scratch/scratch/youngsk2/asterix/txnlogs</txn_log_dir>
+	<iodevices>/mnt/data/sdb/youngsk2/asterix,/mnt/data/sdc/youngsk2/asterix,/mnt/data/sdd/youngsk2/asterix</iodevices>
+	<store>storage</store>
+	<java_home>/home/youngsk2/jdk1.7.0_65</java_home>
+	<master_node>
+		<id>master</id>
+		<cluster_ip>128.195.9.21</cluster_ip>
+		<cluster_port>1099</cluster_port>
+		<client_ip>128.195.9.21</client_ip>
+		<client_port>1098</client_port>
+		<http_port>8888</http_port>
+	</master_node>
+	<node>
+		<id>node1</id>
+		<cluster_ip>128.195.9.22</cluster_ip>
+	</node>
+	<node>
+		<id>node2</id>
+		<cluster_ip>128.195.9.23</cluster_ip>
+	</node>
+</cluster>
+
diff --git a/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/4node.xml b/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/4node.xml
new file mode 100644
index 0000000..aabb3f5
--- /dev/null
+++ b/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/4node.xml
@@ -0,0 +1,52 @@
+<!--
+ ! Copyright 2009-2013 by The Regents of the University of California
+ ! Licensed 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 from
+ !
+ !     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.
+ !-->
+<cluster xmlns="cluster">
+	<name>4node</name>
+    <username>youngsk2</username>
+	<working_dir>
+		<dir>/home/youngsk2/asterixdb/working</dir>
+		<NFS>true</NFS>
+	</working_dir>
+	<log_dir>/mnt/data/sde/youngsk2/asterix/logs</log_dir>
+	<txn_log_dir>/lv_scratch/scratch/youngsk2/asterix/txnlogs</txn_log_dir>
+	<iodevices>/mnt/data/sdb/youngsk2/asterix,/mnt/data/sdc/youngsk2/asterix,/mnt/data/sdd/youngsk2/asterix</iodevices>
+	<store>storage</store>
+	<java_home>/home/youngsk2/jdk1.7.0_65</java_home>
+	<master_node>
+		<id>master</id>
+		<cluster_ip>128.195.9.21</cluster_ip>
+		<cluster_port>1099</cluster_port>
+		<client_ip>128.195.9.21</client_ip>
+		<client_port>1098</client_port>
+		<http_port>8888</http_port>
+	</master_node>
+	<node>
+		<id>node1</id>
+		<cluster_ip>128.195.9.22</cluster_ip>
+	</node>
+	<node>
+		<id>node2</id>
+		<cluster_ip>128.195.9.23</cluster_ip>
+	</node>
+	<node>
+		<id>node3</id>
+		<cluster_ip>128.195.9.24</cluster_ip>
+	</node>
+	<node>
+		<id>node4</id>
+		<cluster_ip>128.195.9.25</cluster_ip>
+	</node>
+</cluster>
+
diff --git a/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/8node.xml b/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/8node.xml
new file mode 100644
index 0000000..1586f5a
--- /dev/null
+++ b/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/8node.xml
@@ -0,0 +1,68 @@
+<!--
+ ! Copyright 2009-2013 by The Regents of the University of California
+ ! Licensed 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 from
+ !
+ !     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.
+ !-->
+<cluster xmlns="cluster">
+	<name>8node</name>
+    <username>youngsk2</username>
+	<working_dir>
+		<dir>/home/youngsk2/asterixdb/working</dir>
+		<NFS>true</NFS>
+	</working_dir>
+	<log_dir>/mnt/data/sde/youngsk2/asterix/logs</log_dir>
+	<txn_log_dir>/lv_scratch/scratch/youngsk2/asterix/txnlogs</txn_log_dir>
+	<iodevices>/mnt/data/sdb/youngsk2/asterix,/mnt/data/sdc/youngsk2/asterix,/mnt/data/sdd/youngsk2/asterix</iodevices>
+	<store>storage</store>
+	<java_home>/home/youngsk2/jdk1.7.0_65</java_home>
+	<master_node>
+		<id>master</id>
+		<cluster_ip>128.195.9.21</cluster_ip>
+		<cluster_port>1099</cluster_port>
+		<client_ip>128.195.9.21</client_ip>
+		<client_port>1098</client_port>
+		<http_port>8888</http_port>
+	</master_node>
+	<node>
+		<id>node1</id>
+		<cluster_ip>128.195.9.22</cluster_ip>
+	</node>
+	<node>
+		<id>node2</id>
+		<cluster_ip>128.195.9.23</cluster_ip>
+	</node>
+	<node>
+		<id>node3</id>
+		<cluster_ip>128.195.9.24</cluster_ip>
+	</node>
+	<node>
+		<id>node4</id>
+		<cluster_ip>128.195.9.25</cluster_ip>
+	</node>
+	<node>
+		<id>node5</id>
+		<cluster_ip>128.195.9.26</cluster_ip>
+	</node>
+	<node>
+		<id>node6</id>
+		<cluster_ip>128.195.9.27</cluster_ip>
+	</node>
+	<node>
+		<id>node7</id>
+		<cluster_ip>128.195.9.28</cluster_ip>
+	</node>
+	<node>
+		<id>node8</id>
+		<cluster_ip>128.195.9.29</cluster_ip>
+	</node>
+</cluster>
+
diff --git a/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/asterix-configuration.xml b/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/asterix-configuration.xml
new file mode 100644
index 0000000..0159194
--- /dev/null
+++ b/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/asterix-configuration.xml
@@ -0,0 +1,259 @@
+<!--
+ ! Copyright 2009-2013 by The Regents of the University of California
+ ! Licensed 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 from
+ !
+ !     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.
+ !-->
+<asterixConfiguration xmlns="asterixconf">
+
+	<property>
+		<name>nc.java.opts</name>
+		<value>-Xms6144m -Xmx7168m</value>
+		<description>JVM parameters for each Node Contoller (NC)</description>
+	</property>
+
+	<property>
+		<name>cc.java.opts</name>
+		<value>-Xms6144m -Xmx6144m</value>
+		<description>JVM parameters for each Cluster Contoller (CC)
+		</description>
+	</property>
+
+    <property>
+        <name>max.wait.active.cluster</name>
+        <value>60</value>
+        <description>Maximum wait (in seconds) for a cluster to be ACTIVE (all nodes are available)
+                before a submitted query/statement can be executed. (Default = 60 seconds)
+        </description>
+    </property>
+
+	<property>
+		<name>storage.buffercache.pagesize</name>
+		<value>131072</value>
+		<description>The page size in bytes for pages in the buffer cache.
+			(Default = "131072" // 128KB)
+		</description>
+	</property>
+
+	<property>
+		<name>storage.buffercache.size</name>
+		<value>3221225472</value>
+		<description>[3GB] The size of memory allocated to the disk buffer cache.
+			The value should be a multiple of the buffer cache page size(Default
+			= "536870912" // 512MB)
+		</description>
+	</property>
+
+	<property>
+		<name>storage.buffercache.maxopenfiles</name>
+		<value>214748364</value>
+		<description>The maximum number of open files in the buffer cache.
+			(Default = "214748364")
+		</description>
+	</property>
+
+    <!-- Buffer size per dataset for in-memory components: 1GB -->
+	<property>
+		<name>storage.memorycomponent.pagesize</name>
+		<value>131072</value>
+		<description>The page size in bytes for pages allocated to memory
+			components. (Default = "131072" // 128KB)
+		</description>
+	</property>
+
+	<property>
+		<name>storage.memorycomponent.numpages</name>
+		<value>8192</value>
+		<description>
+		</description>
+	</property>
+    <!--// Buffer size per dataset for in-memory components -->
+
+	<property>
+		<name>storage.metadata.memorycomponent.numpages</name>
+		<value>64</value>
+		<description>The number of pages to allocate for a memory component.
+			(Default = 64)
+		</description>
+	</property>
+
+    <property>
+		<name>storage.memorycomponent.numcomponents</name>
+		<value>2</value>
+		<description>The number of memory components to be used per lsm index.
+			(Default = 2)
+		</description>
+	</property>
+
+	<property>
+		<name>storage.memorycomponent.globalbudget</name>
+		<value>4399824896</value>
+		<description>[4GB + 8MB]The total size of memory in bytes that the sum of all
+			open memory
+			components cannot exceed. (Default = "536870192" // 512MB)
+		</description>
+	</property>
+
+	<property>
+		<name>storage.lsm.bloomfilter.falsepositiverate</name>
+		<value>0.01</value>
+		<description>The maximum acceptable false positive rate for bloom
+			filters associated with LSM indexes. (Default = "0.01" // 1%)
+		</description>
+	</property>
+
+	<property>
+		<name>txn.log.buffer.numpages</name>
+		<value>2</value>
+		<description>The number of in-memory log buffer pages. (Default = "8")
+		</description>
+	</property>
+
+	<property>
+		<name>txn.log.buffer.pagesize</name>
+		<value>8388608</value>
+		<description>[8MB]The size of pages in the in-memory log buffer. (Default =
+			"524288" // 512KB)
+		</description>
+	</property>
+
+	<property>
+		<name>txn.log.partitionsize</name>
+		<value>2147483648</value>
+		<description>The maximum size of a log file partition allowed before
+			rotating the log to the next partition. (Default = "2147483648" //
+			2GB)
+		</description>
+	</property>
+
+	<property>
+		<name>txn.log.checkpoint.lsnthreshold</name>
+		<value>67108864</value>
+		<description>The size of the window that the maximum LSN is allowed to
+			be ahead of the checkpoint LSN by. (Default = ""67108864" // 64M)
+		</description>
+	</property>
+
+	<property>
+		<name>txn.log.checkpoint.pollfrequency</name>
+		<value>120</value>
+		<description>The time in seconds between that the checkpoint thread
+			waits between polls. (Default = "120" // 120s)
+		</description>
+	</property>
+
+	<property>
+		<name>txn.log.checkpoint.history</name>
+		<value>0</value>
+		<description>The number of old log partition files to keep before
+			discarding. (Default = "0")
+		</description>
+	</property>
+
+	<property>
+		<name>txn.lock.escalationthreshold</name>
+		<value>1000</value>
+		<description>The number of entity level locks that need to be acquired
+			before the locks are coalesced and escalated into a dataset level
+			lock. (Default = "1000")
+		</description>
+	</property>
+
+	<property>
+		<name>txn.lock.shrinktimer</name>
+		<value>5000</value>
+		<description>The time in milliseconds to wait before deallocating
+			unused lock manager memory. (Default = "5000" // 5s)
+		</description>
+	</property>
+
+	<property>
+		<name>txn.lock.timeout.waitthreshold</name>
+		<value>60000</value>
+		<description>The time in milliseconds to wait before labeling a
+			transaction which has been waiting for a lock timed-out. (Default =
+			"60000" // 60s)
+		</description>
+	</property>
+
+	<property>
+		<name>txn.lock.timeout.sweepthreshold</name>
+		<value>10000</value>
+		<description>The time in milliseconds the timeout thread waits between
+			sweeps to detect timed-out transactions. (Default = "10000" // 10s)
+		</description>
+	</property>
+
+	<property>
+		<name>compiler.sortmemory</name>
+		<value>67108864</value>
+		<description>[64MB]The amount of memory in bytes given to sort operations.
+			(Default = "33554432" // 32mb)
+		</description>
+	</property>
+
+	<property>
+		<name>compiler.joinmemory</name>
+		<value>67108864</value>
+		<description>[64MB]The amount of memory in bytes given to join operations.
+			(Default = "33554432" // 32mb)
+		</description>
+	</property>
+
+	<property>
+		<name>compiler.framesize</name>
+		<value>131072</value>
+		<description>The Hyracks frame size that the compiler configures per
+			job. (Default = "131072" // 128KB)
+		</description>
+	</property>
+
+	<property>
+		<name>web.port</name>
+		<value>19001</value>
+		<description>The port for the ASTERIX web interface. (Default = 19001)
+		</description>
+	</property>
+
+	<property>
+		<name>api.port</name>
+		<value>19002</value>
+		<description>The port for the ASTERIX API server. (Default = 19002)
+		</description>
+	</property>
+
+	<property>
+		<name>log.level</name>
+		<value>ALL</value>
+		<description>The minimum log level to be displayed. (Default = INFO)
+		</description>
+	</property>
+	      <property>
+          <name>feed.memory.global.budget</name>
+          <value>1073741824</value>
+          <description>Feed memory budget (1 GB = 1073741824 Bytes)
+          </description>
+      </property>
+  
+      <property>
+          <name>feed.pending.work.threshold</name>
+          <value>1000</value>
+          <description>Feed pending work threshold 
+          </description>
+      </property>
+      
+      <property>
+          <name>feed.max.threshold.period</name>
+          <value>100</value>
+          <description>Feed max threshold period
+          </description>
+      </property>
+</asterixConfiguration>
diff --git a/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/managix-conf.xml b/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/managix-conf.xml
new file mode 100644
index 0000000..a21935f
--- /dev/null
+++ b/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/managix-conf.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<configuration xmlns="installer">
+    <backup>
+        <hdfs>
+            <version>0.20.2</version>
+            <url></url>
+        </hdfs>
+        <backupDir>/home/youngsk2/managix/clusters/local/working_dir/backup</backupDir>
+    </backup>
+    <zookeeper>
+        <homeDir>/home/youngsk2/managix/.installer/zookeeper_home</homeDir>
+        <clientPort>2900</clientPort>
+        <servers>
+            <java_home>/home/youngsk2/jdk1.7.0_65</java_home>
+            <server>128.195.9.21</server>
+        </servers>
+    </zookeeper>
+</configuration>
\ No newline at end of file