----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/17693/#review33639 -----------------------------------------------------------
Thank you for the review. committed. - Hyunsik Choi On Feb. 4, 2014, 5:29 p.m., Hyunsik Choi wrote: > > ----------------------------------------------------------- > 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. > > > 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 > ----- > > 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 > >
