-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17693/
-----------------------------------------------------------

(Updated Feb. 4, 2014, 5:29 p.m.)


Review request for Tajo.


Changes
-------

Updated Tuple.java in pullserver.


Bugs: TAJO-36
    https://issues.apache.org/jira/browse/TAJO-36


Repository: tajo


Description
-------

Background:

The current ExternalSortExec just uses the binary external merge sort algorithm 
(http://en.wikipedia.org/wiki/External_sorting#External_merge_sort). In other 
words, for each pass, ExternalSortExec just merges two files into one sorted 
file.

Proposal:
The goal of this proposal is to improve ExternalSortExec with the following 
improvements:
* N-merge sort - we can merge N files though more memory at each pass. It will 
reduce the number of passes. Consequently, it will reduces considerable I/O 
overheads.
* the final pass omission - a physical operator is pipelined by the parent 
operator. The final pass of the merge sort must also be invoked by the parent 
physical operator. So, we can omit the final pass of the merge sort.


Diffs (updated)
-----

  CHANGES.txt e3c433fbaab392c14bea109d3ffbdd25752984a0 
  tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 
38aa19156f0f64ac1ef99ec25238e33bd8111ed3 
  tajo-common/src/main/java/org/apache/tajo/datum/Float8Datum.java 
5566b3ad573d16a2bfbb460561e1ba53ad100ed0 
  tajo-common/src/main/java/org/apache/tajo/util/ClassSize.java PRE-CREATION 
  tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java 
cd9d188023bd76d640153ffbafdf8bdce8b45f7c 
  
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java
 671cec3a204e9b52db492b3e10fcacc780f739c5 
  
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/ExternalSortExec.java
 0a8cb62fb138c5c3d8aa118df1e665851a09a08f 
  
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalExec.java
 4e6cd6416f5a4d8a97dcc5695c65c48bc04cc141 
  
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalPlanningException.java
 0d7554d6eb40c5c1566062a0099179adffe97b98 
  
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/UnaryPhysicalExec.java
 6ed741b2aacdfeda8b54aa5c402c07574f5f664b 
  
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java
 299703c31773af8c0297b2551ea025c335f546cc 
  
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java
 5f0457e777599c93a37268345137a8c46a750450 
  
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java
 e236126e7c2f630e058b6954241708e0cb29d678 
  
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java
 65ed3c45c6a2cb370ce3a9a9117db5f9de38b363 
  
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java
 2a1af7c22a13a412b4eda1fb15fca51fbd237c93 
  
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java
 0b23bb54063803a1bc159056c8234b6f94d5baca 
  
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java
 e6dd0a545d17184541419963404ac4e3a09494f6 
  
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java
 50d431c945af8183e8327a3c95b2937378fdc5cd 
  
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java
 7cdf6ec4bf14875e32b1006f54046160f6792217 
  
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java
 018042cf1132ba44cb803d8fd8494da66d470d6c 
  
tajo-core/tajo-core-pullserver/src/main/java/org/apache/tajo/storage/Tuple.java 
3b6a550992161fe66e02e7a6ad47bb308e26c794 
  tajo-jdbc/src/main/java/org/apache/tajo/jdbc/MetaDataTuple.java 
7887c9e6c22333a4d8b6e56185debcfdeb9c9ca9 
  tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java 
e868701538be72386f983804ebbc046861f055f1 
  tajo-storage/src/main/java/org/apache/tajo/storage/FrameTuple.java 
f05a31664f0bd7447de4cd3d0ce8d0cf60bfd816 
  tajo-storage/src/main/java/org/apache/tajo/storage/LazyTuple.java 
4d484df71f6d02d364bc6ecd9b334516db3e333b 
  tajo-storage/src/main/java/org/apache/tajo/storage/MemoryUtil.java 
PRE-CREATION 
  tajo-storage/src/main/java/org/apache/tajo/storage/RawFile.java 
749b2e4dd4be1ac1b7f548696b78f03775696dc7 
  tajo-storage/src/main/java/org/apache/tajo/storage/RowFile.java 
1e89f312456347beedf8ca75acc30c724bf0b595 
  tajo-storage/src/main/java/org/apache/tajo/storage/RowStoreUtil.java 
e54fb57294d6402360d81c8895e82e8c2c5400e4 
  tajo-storage/src/main/java/org/apache/tajo/storage/Tuple.java 
ba3598873a4ece960bbf1a8fe28830fd27dea5eb 
  tajo-storage/src/main/java/org/apache/tajo/storage/VTuple.java 
878c05eb2796b37c7ce3deea73686f08efc87b46 
  tajo-storage/src/test/java/org/apache/tajo/storage/TestLazyTuple.java 
e1430e1dd25ee7723d8b6489982625ac0f000065 
  tajo-storage/src/test/java/org/apache/tajo/storage/TestStorages.java 
1685675cf2d51485168a0fa1e48d36c65d3c07e8 
  tajo-storage/src/test/java/org/apache/tajo/storage/TestVTuple.java 
05f47a5c022f61f2eae1250424eb38f63f460724 
  tajo-storage/src/test/java/org/apache/tajo/storage/v2/TestStorages.java 
a3d313376c5e9d9b48c80c3a829ccff68606dad7 

Diff: https://reviews.apache.org/r/17693/diff/


Testing
-------


Thanks,

Hyunsik Choi

Reply via email to