Added more explanations for two config parameters

 - Added more planataions for storage.memorycomponent.numpages and
   storage.memorycomponent.globalbudget

Change-Id: Idea269eec4d89f665772267588ce2b019327de04
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1281
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Ian Maxon <imaxon@apache.org>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/asterixdb/asterix-app/src/main/resources/asterix-build-configuration.xml b/asterixdb/asterix-app/src/main/resources/asterix-build-configuration.xml
index 142b93a..ef0cdf2 100644
--- a/asterixdb/asterix-app/src/main/resources/asterix-build-configuration.xml
+++ b/asterixdb/asterix-app/src/main/resources/asterix-build-configuration.xml
@@ -89,7 +89,10 @@
     <name>storage.memorycomponent.numpages</name>
     <value>8</value>
     <description>The number of pages to allocate for a memory component.
-      (Default = 8)
+      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. (Default = 256)
     </description>
   </property>
   <property>
diff --git a/asterixdb/asterix-docker/docker/asterix-configuration.xml b/asterixdb/asterix-docker/docker/asterix-configuration.xml
index ea43da9..fe9827c 100644
--- a/asterixdb/asterix-docker/docker/asterix-configuration.xml
+++ b/asterixdb/asterix-docker/docker/asterix-configuration.xml
@@ -101,7 +101,10 @@
     <name>storage.memorycomponent.numpages</name>
     <value>256</value>
     <description>The number of pages to allocate for a memory component.
-      (Default = 256)
+      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. (Default = 256)
     </description>
   </property>
   <property>
@@ -123,9 +126,11 @@
   <property>
     <name>storage.memorycomponent.globalbudget</name>
     <value>512MB</value>
-    <description>The total size of memory in bytes that the sum of all
-      open memory
-      components cannot exceed. (Default = "536870192" // 512MB)
+    <description>The total size of memory in bytes that the sum of all open memory
+      components cannot exceed. Consider this as the buffer cache for all memory
+      components of all indexes in a node. When this budget is fully used, a victim
+      dataset will be chosen. The chosen dataset must be evicted and closed to make
+      a space for another dataset. (Default = 512MB)
     </description>
   </property>
 
diff --git a/asterixdb/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/asterix-configuration.xml b/asterixdb/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/asterix-configuration.xml
index c642cbb..f4bb47a 100644
--- a/asterixdb/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/asterix-configuration.xml
+++ b/asterixdb/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/asterix-configuration.xml
@@ -72,7 +72,11 @@
   <property>
     <name>storage.memorycomponent.numpages</name>
     <value>8192</value>
-    <description>
+    <description>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. (Default = 256)
     </description>
   </property>
   <!--// Buffer size per dataset for in-memory components -->
@@ -96,9 +100,11 @@
   <property>
     <name>storage.memorycomponent.globalbudget</name>
     <value>4196MB</value>
-    <description>[4GB + 100MB]The total size of memory in bytes that the sum of all
-      open memory
-      components cannot exceed. (Default = "536870192" // 512MB)
+    <description>The total size of memory in bytes that the sum of all open memory
+      components cannot exceed. Consider this as the buffer cache for all memory
+      components of all indexes in a node. When this budget is fully used, a victim
+      dataset will be chosen. The chosen dataset must be evicted and closed to make
+      a space for another dataset. (Default = 512MB)
     </description>
   </property>
 
diff --git a/asterixdb/asterix-installer/src/main/resources/conf/asterix-configuration.xml b/asterixdb/asterix-installer/src/main/resources/conf/asterix-configuration.xml
index aa8ad8d..ed8e70a 100644
--- a/asterixdb/asterix-installer/src/main/resources/conf/asterix-configuration.xml
+++ b/asterixdb/asterix-installer/src/main/resources/conf/asterix-configuration.xml
@@ -76,7 +76,10 @@
     <name>storage.memorycomponent.numpages</name>
     <value>256</value>
     <description>The number of pages to allocate for a memory component.
-      (Default = 256)
+      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. (Default = 256)
     </description>
   </property>
 
@@ -99,9 +102,11 @@
   <property>
     <name>storage.memorycomponent.globalbudget</name>
     <value>1GB</value>
-    <description>The total size of memory in bytes that the sum of all
-      open memory
-      components cannot exceed. (Default = "536870192" // 512MB)
+    <description>The total size of memory in bytes that the sum of all open memory
+      components cannot exceed. Consider this as the buffer cache for all memory
+      components of all indexes in a node. When this budget is fully used, a victim
+      dataset will be chosen. The chosen dataset must be evicted and closed to make
+      a space for another dataset. (Default = 512MB)
     </description>
   </property>
 
diff --git a/asterixdb/asterix-installer/src/test/resources/integrationts/asterix-configuration.xml b/asterixdb/asterix-installer/src/test/resources/integrationts/asterix-configuration.xml
index e36c33b..9992009 100644
--- a/asterixdb/asterix-installer/src/test/resources/integrationts/asterix-configuration.xml
+++ b/asterixdb/asterix-installer/src/test/resources/integrationts/asterix-configuration.xml
@@ -76,7 +76,10 @@
     <name>storage.memorycomponent.numpages</name>
     <value>256</value>
     <description>The number of pages to allocate for a memory component.
-      (Default = 256)
+      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. (Default = 256)
     </description>
   </property>
 
@@ -99,9 +102,11 @@
   <property>
     <name>storage.memorycomponent.globalbudget</name>
     <value>1GB</value>
-    <description>The total size of memory in bytes that the sum of all
-      open memory
-      components cannot exceed. (Default = "536870192" // 512MB)
+    <description>The total size of memory in bytes that the sum of all open memory
+      components cannot exceed. Consider this as the buffer cache for all memory
+      components of all indexes in a node. When this budget is fully used, a victim
+      dataset will be chosen. The chosen dataset must be evicted and closed to make
+      a space for another dataset. (Default = 512MB)
     </description>
   </property>
 
diff --git a/asterixdb/asterix-yarn/src/main/resources/base-asterix-configuration.xml b/asterixdb/asterix-yarn/src/main/resources/base-asterix-configuration.xml
index 788cb76..a1b369e 100644
--- a/asterixdb/asterix-yarn/src/main/resources/base-asterix-configuration.xml
+++ b/asterixdb/asterix-yarn/src/main/resources/base-asterix-configuration.xml
@@ -76,7 +76,10 @@
     <name>storage.memorycomponent.numpages</name>
     <value>256</value>
     <description>The number of pages to allocate for a memory component.
-      (Default = 256)
+      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. (Default = 256)
     </description>
   </property>
 
@@ -99,9 +102,11 @@
   <property>
     <name>storage.memorycomponent.globalbudget</name>
     <value>512MB</value>
-    <description>The total size of memory in bytes that the sum of all
-      open memory
-      components cannot exceed. (Default = "536870192" // 512MB)
+    <description>The total size of memory in bytes that the sum of all open memory
+      components cannot exceed. Consider this as the buffer cache for all memory
+      components of all indexes in a node. When this budget is fully used, a victim
+      dataset will be chosen. The chosen dataset must be evicted and closed to make
+      a space for another dataset. (Default = 512MB)
     </description>
   </property>
 
diff --git a/asterixdb/asterix-yarn/src/main/resources/configs/base-asterix-configuration.xml b/asterixdb/asterix-yarn/src/main/resources/configs/base-asterix-configuration.xml
index 788cb76..a1b369e 100644
--- a/asterixdb/asterix-yarn/src/main/resources/configs/base-asterix-configuration.xml
+++ b/asterixdb/asterix-yarn/src/main/resources/configs/base-asterix-configuration.xml
@@ -76,7 +76,10 @@
     <name>storage.memorycomponent.numpages</name>
     <value>256</value>
     <description>The number of pages to allocate for a memory component.
-      (Default = 256)
+      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. (Default = 256)
     </description>
   </property>
 
@@ -99,9 +102,11 @@
   <property>
     <name>storage.memorycomponent.globalbudget</name>
     <value>512MB</value>
-    <description>The total size of memory in bytes that the sum of all
-      open memory
-      components cannot exceed. (Default = "536870192" // 512MB)
+    <description>The total size of memory in bytes that the sum of all open memory
+      components cannot exceed. Consider this as the buffer cache for all memory
+      components of all indexes in a node. When this budget is fully used, a victim
+      dataset will be chosen. The chosen dataset must be evicted and closed to make
+      a space for another dataset. (Default = 512MB)
     </description>
   </property>