Repository: tajo
Updated Branches:
  refs/heads/master 46bc8bf79 -> 254c92394


TAJO-1963: Add more configuration descriptions to document.

Closes #844


Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/254c9239
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/254c9239
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/254c9239

Branch: refs/heads/master
Commit: 254c923944a4859ca1f5180c122420c750c8154c
Parents: 46bc8bf
Author: Jihoon Son <[email protected]>
Authored: Tue Nov 10 00:21:02 2015 +0900
Committer: Jihoon Son <[email protected]>
Committed: Tue Nov 10 00:21:02 2015 +0900

----------------------------------------------------------------------
 CHANGES                                         |   2 +
 .../main/java/org/apache/tajo/SessionVars.java  |   4 +-
 .../java/org/apache/tajo/conf/TajoConf.java     |   2 +-
 .../engine/planner/physical/TestSortExec.java   |   2 +-
 .../apache/tajo/engine/query/TestSortQuery.java |   2 +-
 .../TestTajoCli/testHelpSessionVars.result      |   4 +-
 .../planner/physical/ExternalSortExec.java      |   2 +-
 .../main/sphinx/configuration/tajo-site-xml.rst | 450 ++++++++++++++++++-
 tajo-docs/src/main/sphinx/time_zone.rst         |   2 +-
 9 files changed, 452 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tajo/blob/254c9239/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 792b406..a40a15a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -57,6 +57,8 @@ Release 0.12.0 - unreleased
 
   TASKS
 
+    TAJO-1963: Add more configuration descriptions to document. (jihoon)
+
     TAJO-1970: Change the null first syntax. (jihoon)
 
     TAJO-1904: Extend GraphVisitor to accept user-defined context. (jihoon)

http://git-wip-us.apache.org/repos/asf/tajo/blob/254c9239/tajo-common/src/main/java/org/apache/tajo/SessionVars.java
----------------------------------------------------------------------
diff --git a/tajo-common/src/main/java/org/apache/tajo/SessionVars.java 
b/tajo-common/src/main/java/org/apache/tajo/SessionVars.java
index 2834e14..46df687 100644
--- a/tajo-common/src/main/java/org/apache/tajo/SessionVars.java
+++ b/tajo-common/src/main/java/org/apache/tajo/SessionVars.java
@@ -131,7 +131,7 @@ public enum SessionVars implements ConfigKey {
   NULL_CHAR(ConfVars.$TEXT_NULL, "null char of text file output", DEFAULT),
   CODEGEN(ConfVars.$CODEGEN, "Runtime code generation enabled (experiment)", 
DEFAULT),
   AGG_HASH_TABLE_SIZE(ConfVars.$AGG_HASH_TABLE_SIZE, "Aggregation hash table 
size", DEFAULT),
-  SORT_HASH_TABLE_SIZE(ConfVars.$SORT_HASH_TABLE_SIZE, "Sort hash table size", 
DEFAULT),
+  SORT_LIST_SIZE(ConfVars.$SORT_LIST_SIZE, "List size for in-memory sort", 
DEFAULT),
   JOIN_HASH_TABLE_SIZE(ConfVars.$JOIN_HASH_TABLE_SIZE, "Join hash table size", 
DEFAULT),
 
   // for index
@@ -140,7 +140,7 @@ public enum SessionVars implements ConfigKey {
 
   // for partition overwrite
   
PARTITION_NO_RESULT_OVERWRITE_ENABLED(ConfVars.$PARTITION_NO_RESULT_OVERWRITE_ENABLED,
-    "If True, a partitioned table is overwritten even if a sub query leads to 
no result. "
+    "If true, a partitioned table is overwritten even if a sub query leads to 
no result. "
     + "Otherwise, the table data will be kept if there is no result", DEFAULT),
 
   // Behavior Control ---------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/254c9239/tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java
----------------------------------------------------------------------
diff --git a/tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 
b/tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java
index e84da0f..de52e53 100644
--- a/tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java
+++ b/tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java
@@ -345,7 +345,7 @@ public class TajoConf extends Configuration {
     $MAX_OUTPUT_FILE_SIZE("tajo.query.max-outfile-size-mb", 0), // zero means 
infinite
     $CODEGEN("tajo.executor.codegen.enabled", false), // Runtime code 
generation (todo this is broken)
     $AGG_HASH_TABLE_SIZE("tajo.executor.aggregate.hash-table.size", 10000),
-    $SORT_HASH_TABLE_SIZE("tajo.executor.sort.hash-table.size", 100000),
+    $SORT_LIST_SIZE("tajo.executor.sort.list.size", 100000),
     $JOIN_HASH_TABLE_SIZE("tajo.executor.join.hash-table.size", 100000),
 
     // for index

http://git-wip-us.apache.org/repos/asf/tajo/blob/254c9239/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java
----------------------------------------------------------------------
diff --git 
a/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java
 
b/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java
index 15708b1..30a63be 100644
--- 
a/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java
+++ 
b/tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java
@@ -75,7 +75,7 @@ public class TestSortExec {
   public static void setUp() throws Exception {
     conf = new TajoConf();
     conf.setBoolVar(TajoConf.ConfVars.$TEST_MODE, true);
-    conf.setIntVar(ConfVars.$SORT_HASH_TABLE_SIZE, 100);
+    conf.setIntVar(ConfVars.$SORT_LIST_SIZE, 100);
     util = TpchTestBase.getInstance().getTestingCluster();
     catalog = util.getMaster().getCatalog();
     workDir = CommonTestingUtil.getTestDir(TEST_PATH);

http://git-wip-us.apache.org/repos/asf/tajo/blob/254c9239/tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java
----------------------------------------------------------------------
diff --git 
a/tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 
b/tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java
index 3d6965c..ebfedd1 100644
--- 
a/tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java
+++ 
b/tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java
@@ -40,7 +40,7 @@ public class TestSortQuery extends QueryTestCaseBase {
     super(TajoConstants.DEFAULT_DATABASE_NAME);
 
     Map<String, String> variables = new HashMap<>();
-    variables.put(SessionVars.SORT_HASH_TABLE_SIZE.keyname(), "100");
+    variables.put(SessionVars.SORT_LIST_SIZE.keyname(), "100");
     client.updateSessionVariables(variables);
   }
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/254c9239/tajo-core-tests/src/test/resources/results/TestTajoCli/testHelpSessionVars.result
----------------------------------------------------------------------
diff --git 
a/tajo-core-tests/src/test/resources/results/TestTajoCli/testHelpSessionVars.result
 
b/tajo-core-tests/src/test/resources/results/TestTajoCli/testHelpSessionVars.result
index 4d4cc2b..d65c346 100644
--- 
a/tajo-core-tests/src/test/resources/results/TestTajoCli/testHelpSessionVars.result
+++ 
b/tajo-core-tests/src/test/resources/results/TestTajoCli/testHelpSessionVars.result
@@ -37,11 +37,11 @@ Available Session Variables:
 \set NULL_CHAR [text value] - null char of text file output
 \set CODEGEN [true or false] - Runtime code generation enabled (experiment)
 \set AGG_HASH_TABLE_SIZE [int value] - Aggregation hash table size
-\set SORT_HASH_TABLE_SIZE [int value] - Sort hash table size
+\set SORT_LIST_SIZE [int value] - List size for in-memory sort
 \set JOIN_HASH_TABLE_SIZE [int value] - Join hash table size
 \set INDEX_ENABLED [true or false] - index scan enabled
 \set INDEX_SELECTIVITY_THRESHOLD [real value] - the selectivity threshold for 
index scan
-\set PARTITION_NO_RESULT_OVERWRITE_ENABLED [true or false] - If True, a 
partitioned table is overwritten even if a sub query leads to no result. 
Otherwise, the table data will be kept if there is no result
+\set PARTITION_NO_RESULT_OVERWRITE_ENABLED [true or false] - If true, a 
partitioned table is overwritten even if a sub query leads to no result. 
Otherwise, the table data will be kept if there is no result
 \set ARITHABORT [true or false] - If true, a running query will be terminated 
when an overflow or divide-by-zero occurs.
 \set FETCH_ROWNUM [int value] - Sets the number of rows at a time from Master
 \set BLOCK_ON_RESULT [true or false] - Whether to block result set on query 
execution

http://git-wip-us.apache.org/repos/asf/tajo/blob/254c9239/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ExternalSortExec.java
----------------------------------------------------------------------
diff --git 
a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ExternalSortExec.java
 
b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ExternalSortExec.java
index 6ed22c8..b9ab344 100644
--- 
a/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ExternalSortExec.java
+++ 
b/tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ExternalSortExec.java
@@ -118,7 +118,7 @@ public class ExternalSortExec extends SortExec {
     this.sortBufferBytesNum = 
context.getQueryContext().getLong(SessionVars.EXTSORT_BUFFER_SIZE) * 
StorageUnit.MB;
     this.allocatedCoreNum = 
context.getConf().getIntVar(ConfVars.EXECUTOR_EXTERNAL_SORT_THREAD_NUM);
     this.executorService = Executors.newFixedThreadPool(this.allocatedCoreNum);
-    this.inMemoryTable = new 
TupleList(context.getQueryContext().getInt(SessionVars.SORT_HASH_TABLE_SIZE));
+    this.inMemoryTable = new 
TupleList(context.getQueryContext().getInt(SessionVars.SORT_LIST_SIZE));
 
     this.sortTmpDir = getExecutorTmpDir();
     localDirAllocator = new 
LocalDirAllocator(ConfVars.WORKER_TEMPORAL_DIR.varname);

http://git-wip-us.apache.org/repos/asf/tajo/blob/254c9239/tajo-docs/src/main/sphinx/configuration/tajo-site-xml.rst
----------------------------------------------------------------------
diff --git a/tajo-docs/src/main/sphinx/configuration/tajo-site-xml.rst 
b/tajo-docs/src/main/sphinx/configuration/tajo-site-xml.rst
index d0c3597..cdf0362 100644
--- a/tajo-docs/src/main/sphinx/configuration/tajo-site-xml.rst
+++ b/tajo-docs/src/main/sphinx/configuration/tajo-site-xml.rst
@@ -2,23 +2,455 @@
 The tajo-site.xml File
 **********************
 
-To the ``core-site.xml`` file on every host in your cluster, you must add the 
following information:
+You can add more configurations in the ``tajo-site.xml`` file. Note that you 
should replicate this file to the whole hosts in your cluster once you edited.
+If you are looking for the configurations for the master and the worker, 
please refer to :doc:`tajo_master_configuration` and 
:doc:`worker_configuration`.
+Also, catalog configurations are found here :doc:`catalog_configuration`.
+
+=========================
+Join Query Settings
+=========================
+
+""""""""""""""""""""""""""""""""""""""
+`tajo.dist-query.join.auto-broadcast`
+""""""""""""""""""""""""""""""""""""""
+
+A flag to enable or disable the use of broadcast join.
+
+  * Property value type: Boolean
+  * Default value: true
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.dist-query.join.auto-broadcast</name>
+    <value>true</value>
+  </property>
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+`tajo.dist-query.broadcast.non-cross-join.threshold-kb`
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+A threshold for non-cross joins. When a non-cross join query is executed with 
the broadcast join, the whole size of broadcasted tables won't exceed this 
threshold.
+
+  * Property value type: Integer
+  * Unit: KB
+  * Default value: 5120
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.dist-query.broadcast.non-cross-join.threshold-kb</name>
+    <value>5120</value>
+  </property>
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+`tajo.dist-query.broadcast.cross-join.threshold-kb`
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+A threshold for cross joins. When a cross join query is executed, the whole 
size of broadcasted tables won't exceed this threshold.
+
+  * Property value type: Integer
+  * Unit: KB
+  * Default value: 1024
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.dist-query.broadcast.cross-join.threshold-kb</name>
+    <value>1024</value>
+  </property>
+
+.. warning::
+  In Tajo, the broadcast join is only the way to perform cross joins. Since 
the cross join is a very expensive operation, this value need to be tuned 
carefully.
+
+""""""""""""""""""""""""""""""""""""""
+`tajo.dist-query.join.task-volume-mb`
+""""""""""""""""""""""""""""""""""""""
+
+The repartition join is executed in two stages. When a join query is executed 
with the repartition join, this value indicates the amount of input data 
processed by each task at the second stage.
+As a result, it determines the degree of the parallel processing of the join 
query.
+
+  * Property value type: Integer
+  * Unit: MB
+  * Default value: 64
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.dist-query.join.task-volume-mb</name>
+    <value>64</value>
+  </property>
+
+"""""""""""""""""""""""""""""""""""""""""""
+`tajo.dist-query.join.partition-volume-mb`
+"""""""""""""""""""""""""""""""""""""""""""
+
+The repartition join is executed in two stages. When a join query is executed 
with the repartition join,
+this value indicates the output size of each task at the first stage, which 
determines the number of partitions to be shuffled between two stages.
+
+  * Property value type: Integer
+  * Unit: MB
+  * Default value: 128
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.dist-query.join.partition-volume-mb</name>
+    <value>128</value>
+  </property>
+
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+`tajo.executor.join.common.in-memory-hash-threshold-mb`
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+This value provides the criterion to decide the algorithm to perform a join in 
a task.
+If the input data is smaller than this value, join is performed with the 
in-memory hash join.
+Otherwise, the sort-merge join is used.
+
+  * Property value type: Integer
+  * Unit: MB
+  * Default value: 64
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.executor.join.common.in-memory-hash-threshold-mb</name>
+    <value>64</value>
+  </property>
+
+.. warning::
+  This value is the size of the input stored on file systems. So, when the 
input data is loaded into JVM heap,
+  its actual size is usually much larger than the configured value, which 
means that too large threshold can cause unexpected OutOfMemory errors.
+  This value should be tuned carefully.
+
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+`tajo.executor.join.inner.in-memory-hash-threshold-mb`
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+This value provides the criterion to decide the algorithm to perform an inner 
join in a task.
+If the input data is smaller than this value, the inner join is performed with 
the in-memory hash join.
+Otherwise, the sort-merge join is used.
+
+  * Property value type: Integer
+  * Unit: MB
+  * Default value: 64
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.executor.join.inner.in-memory-hash-threshold-mb</name>
+    <value>64</value>
+  </property>
+
+.. warning::
+  This value is the size of the input stored on file systems. So, when the 
input data is loaded into JVM heap,
+  its actual size is usually much larger than the configured value, which 
means that too large threshold can cause unexpected OutOfMemory errors.
+  This value should be tuned carefully.
+
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+`tajo.executor.join.outer.in-memory-hash-threshold-mb`
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+This value provides the criterion to decide the algorithm to perform an outer 
join in a task.
+If the input data is smaller than this value, the outer join is performed with 
the in-memory hash join.
+Otherwise, the sort-merge join is used.
+
+  * Property value type: Integer
+  * Unit: MB
+  * Default value: 64
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.executor.join.outer.in-memory-hash-threshold-mb</name>
+    <value>64</value>
+  </property>
+
+.. warning::
+  This value is the size of the input stored on file systems. So, when the 
input data is loaded into JVM heap,
+  its actual size is usually much larger than the configured value, which 
means that too large threshold can cause unexpected OutOfMemory errors.
+  This value should be tuned carefully.
+
+"""""""""""""""""""""""""""""""""""""
+`tajo.executor.join.hash-table.size`
+"""""""""""""""""""""""""""""""""""""
+
+The initial size of hash table for in-memory hash join.
+
+  * Property value type: Integer
+  * Default value: 100000
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.executor.join.hash-table.size</name>
+    <value>100000</value>
+  </property>
 
 ======================
-System Config
+Sort Query Settings
 ======================
 
+""""""""""""""""""""""""""""""""""""""
+`tajo.dist-query.sort.task-volume-mb`
+""""""""""""""""""""""""""""""""""""""
+
+The sort operation is executed in two stages. When a sort query is executed, 
this value indicates the amount of input data processed by each task at the 
second stage.
+As a result, it determines the degree of the parallel processing of the sort 
query.
+
+  * Property value type: Integer
+  * Unit: MB
+  * Default value: 64
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.dist-query.sort.task-volume-mb</name>
+    <value>64</value>
+  </property>
+
+""""""""""""""""""""""""""""""""""""""""
+`tajo.executor.external-sort.buffer-mb`
+""""""""""""""""""""""""""""""""""""""""
+
+A threshold to choose the sort algorithm. If the input data is larger than 
this threshold, the external sort algorithm is used.
+
+  * Property value type: Integer
+  * Unit: MB
+  * Default value: 200
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.executor.external-sort.buffer-mb</name>
+    <value>200</value>
+  </property>
+
+""""""""""""""""""""""""""""""""""""""
+`tajo.executor.sort.list.size`
+""""""""""""""""""""""""""""""""""""""
 
+The initial size of list for in-memory sort.
+
+  * Property value type: Integer
+  * Default value: 100000
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.executor.sort.list.size</name>
+    <value>100000</value>
+  </property>
+
+=========================
+Group by Query Settings
+=========================
+
+""""""""""""""""""""""""""""""""""""""""""""
+`tajo.dist-query.groupby.multi-level-aggr`
+""""""""""""""""""""""""""""""""""""""""""""
+
+A flag to enable the multi-level algorithm for distinct aggregation. If this 
value is set, 3-phase aggregation algorithm is used.
+Otherwise, 2-phase aggregation algorithm is used.
+
+  * Property value type: Boolean
+  * Default value: true
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.dist-query.groupby.multi-level-aggr</name>
+    <value>true</value>
+  </property>
+
+""""""""""""""""""""""""""""""""""""""""""""""
+`tajo.dist-query.groupby.partition-volume-mb`
+""""""""""""""""""""""""""""""""""""""""""""""
+
+The aggregation is executed in two stages. When an aggregation query is 
executed,
+this value indicates the output size of each task at the first stage, which 
determines the number of partitions to be shuffled between two stages.
+
+  * Property value type: Integer
+  * Unit: MB
+  * Default value: 256
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.dist-query.groupby.partition-volume-mb</name>
+    <value>256</value>
+  </property>
+
+""""""""""""""""""""""""""""""""""""""""""""""
+`tajo.dist-query.groupby.task-volume-mb`
+""""""""""""""""""""""""""""""""""""""""""""""
+
+The aggregation operation is executed in two stages. When an aggregation query 
is executed, this value indicates the amount of input data processed by each 
task at the second stage.
+As a result, it determines the degree of the parallel processing of the 
aggregation query.
+
+  * Property value type: Integer
+  * Unit: MB
+  * Default value: 64
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.dist-query.groupby.task-volume-mb</name>
+    <value>64</value>
+  </property>
+
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+`tajo.executor.groupby.in-memory-hash-threshold-mb`
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+This value provides the criterion to decide the algorithm to perform an 
aggregation in a task.
+If the input data is smaller than this value, the aggregation is performed 
with the in-memory hash aggregation.
+Otherwise, the sort-based aggregation is used.
+
+  * Property value type: Integer
+  * Unit: MB
+  * Default value: 64
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.executor.groupby.in-memory-hash-threshold-mb</name>
+    <value>64</value>
+  </property>
+
+.. warning::
+  This value is the size of the input stored on file systems. So, when the 
input data is loaded into JVM heap,
+  its actual size is usually much larger than the configured value, which 
means that too large threshold can cause unexpected OutOfMemory errors.
+  This value should be tuned carefully.
+
+""""""""""""""""""""""""""""""""""""""""""
+`tajo.executor.aggregate.hash-table.size`
+""""""""""""""""""""""""""""""""""""""""""
+
+The initial size of hash table for in-memory aggregation.
+
+  * Property value type: Integer
+  * Default value: 10000
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.executor.aggregate.hash-table.size</name>
+    <value>10000</value>
+  </property>
 
 ======================
 Date/Time Settings
 ======================
 
-+--------------------------+----------------+--------------------------------------------------------+
-| Property Name            | Property Value | Descriptions                     
                      |
-+==========================+================+========================================================+
-| tajo.timezone            | Time zone id   | Refer to :doc:`/time_zone`       
                      |
-+--------------------------+----------------+--------------------------------------------------------+
-| tajo.datetime.date-order | Date order     | Determine date order. It should 
be one of YMD, DMY, MDY|
-+--------------------------+----------------+--------------------------------------------------------+
+"""""""""""""""""""
+`tajo.timezone`
+"""""""""""""""""""
+
+Refer to :doc:`/time_zone`.
+
+  * Property value type: Time zone id
+  * Default value: Default time zone of JVM
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.timezone</name>
+    <value>GMT+9</value>
+  </property>
+
+"""""""""""""""""""""""""""
+`tajo.datetime.date-order`
+"""""""""""""""""""""""""""
+
+Date order specification.
+
+  * Property value type: One of YMD, DMY, MDY.
+  * Default value: YMD
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.datetime.date-order</name>
+    <value>YMD</value>
+  </property>
+
+======================
+Table partitions
+======================
+
+""""""""""""""""""""""""""""""""""""""""""""""""""""
+`tajo.partition.overwrite.even-if-no-result`
+""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+If this value is true, a partitioned table is overwritten even if a subquery 
leads to no result. Otherwise, the table data will be kept if there is no 
result.
+
+  * Property value type: Boolean
+  * Default value: false
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.partition.overwrite.even-if-no-result</name>
+    <value>false</value>
+  </property>
+
+""""""""""""""""""""""""""""""""""""""""""""""""""""
+`tajo.dist-query.table-partition.task-volume-mb`
+""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+In Tajo, storing a partition table is executed in two stages.
+This value indicates the output size of a task of the former stage, which 
determines the number of partitions to be shuffled between two stages.
+
+  * Property value type: Integer
+  * Unit: MB
+  * Default value: 256
+  * Example
+
+.. code-block:: xml
+
+  <property>
+    <name>tajo.dist-query.table-partition.task-volume-mb</name>
+    <value>256</value>
+  </property>
+
+======================
+Arithmetic Settings
+======================
+
+""""""""""""""""""""""""""""""""""""""""""""""""""""
+`tajo.behavior.arithmetic-abort`
+""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+A flag to indicate how to handle the errors caused by invalid arithmetic 
operations. If true, a running query will be terminated with an overflow or a 
divide-by-zero.
+
+  * Property value type: Boolean
+  * Default value: false
+  * Example
+
+.. code-block:: xml
 
+  <property>
+    <name>tajo.behavior.arithmetic-abort</name>
+    <value>false</value>
+  </property>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tajo/blob/254c9239/tajo-docs/src/main/sphinx/time_zone.rst
----------------------------------------------------------------------
diff --git a/tajo-docs/src/main/sphinx/time_zone.rst 
b/tajo-docs/src/main/sphinx/time_zone.rst
index 101012f..9b86e18 100644
--- a/tajo-docs/src/main/sphinx/time_zone.rst
+++ b/tajo-docs/src/main/sphinx/time_zone.rst
@@ -19,7 +19,7 @@ You can set the system time zone in *conf/tajo-site.xml* file 
as follows:
 .. code-block:: xml  
 
   <name>tajo.timezone</name>
-  <property>GMT+9</property>
+  <value>GMT+9</value>
 
 
 ==================

Reply via email to