Sub-task
- [TAJO-57] - Recognize Parser and Catalog Standard SQL data types
- [TAJO-59] - Implement Char Datum Type
- [TAJO-91] - Launch QueryMaster on NodeManager per query
- [TAJO-96] - Design and implement rewrite rule interface and the rewrite rule engine.
- [TAJO-97] - Convert the embedded projection push-down code to a separate rewrite rule
- [TAJO-98] - Convert the embedded selection push down code to a separate rewrite rule.
- [TAJO-99] - Design the interface of join enumeration algorithm
- [TAJO-102] - Add AlgebraVisitor and Refactor LogicalPlanner to use the visitor
- [TAJO-121] - Add LogicalPlanVisitor and Refactor LogicalOptimizer to use the visitor
- [TAJO-127] - Implement Tajo Resource Manager
- [TAJO-147] - Implement trim(text), ltrim(text), and rtrim(text) function
- [TAJO-148] - Implement UPPER(text), LOWER(text) function
- [TAJO-208] - Implement char_length(string) function
- [TAJO-210] - Implement String concatenation operator (||)
- [TAJO-216] - Improve FilterPushDownRule and Implement physical operators for outer join
- [TAJO-229] - Implement JoinGraph to represent a graph of relation joins
- [TAJO-240] - Reformat HiveConverter source code to match adopted conventions
Bug
- [TAJO-1] - RCFileWrapper always read whole columns regardless of the target schema
- [TAJO-8] - MapReduce's ShuffleHandler and Tajo's PullServerAuxService conflict each other
- [TAJO-10] - Modify git ignore to include Apache derby log file
- [TAJO-12] - Add information in README on how to subscribe to mailing lists
- [TAJO-13] - Update the groupId property in the pom.xml to use ASF org instead of kr.ac.korea.dbserver
- [TAJO-14] - The ambiguous column error occurs when an alias name is used as a sort key.
- [TAJO-15] - The Integration test is getting hanged on Mac OS X.
- [TAJO-21] - CREATE EXTERNAL TABLE should support a file path
- [TAJO-25] - change Hadoop Yarn library dir on wiki
- [TAJO-26] - Getting Error with mvn verify
- [TAJO-38] - Update class comment in TaskAttemptContext from Korean to English
- [TAJO-41] - Storage handler name "row" in storage-default.xml must be "rowfile".
- [TAJO-46] - The "having" clause does not work properly
- [TAJO-47] - RowFile has the duplicated initialization problem and unflipped ByteBuffer problem
- [TAJO-48] - BufferUnderflowException occurs during the initialization of RowFile
- [TAJO-54] - SubQuery::allocateContainers() may ask 0 containers
- [TAJO-65] - Invalid pom.xml configurations for source directories.
- [TAJO-66] - Support compiling and running Tajo with Java7
- [TAJO-80] - Remove codes of legacy data paths
- [TAJO-82] - NullPointerException occurs when Schema is converted as an array of columns
- [TAJO-92] - LogicalNode misses some fields when it converts to json
- [TAJO-103] - netty worker not released after server closed
- [TAJO-130] - Same queryConf file conflicts.
- [TAJO-131] - ConnectException is occurred during the QueryMaster is started
- [TAJO-137] - Unreleased resources and wrong allocation requests in TajoWorkerResourceManager
- [TAJO-150] - Temporal files stored in wrong directory
- [TAJO-151] - Multiple union queries within a table subquery causes NPE.
- [TAJO-152] - The tajo local directory path is mismatched in PullServer
- [TAJO-156] - BufferUnderflowException occurs during processing the intermediate file
- [TAJO-157] - The CSVScanner.isSplittable() function does not work properly
- [TAJO-158] - Can't allocate worker when single SubQuery requests more than cluster capacity.
- [TAJO-159] - QueryMaster cannot connect the remote CatalogServer.
- [TAJO-160] - StorageManager throws InvalidInputException while running simple join query
- [TAJO-162] - TAJO-151 / Multiple union query with a table subquery causes unexpected results.
- [TAJO-163] - CountValueFunctionExpr can't handle DISTINCT clause
- [TAJO-165] - TajoCli prints wrong execution time.
- [TAJO-168] - infinite loop occurs when QueryMaster is stopping
- [TAJO-169] - the default TAJO_WORKER_STANDBY_MODE in tajo-env.sh is wrong.
- [TAJO-170] - mvn compile error when building tar file
- [TAJO-171] - BitArray always returned false
- [TAJO-172] - TajoWorker allocate wrong container slots.
- [TAJO-174] - SQL error handler sometimes occurred NPE
- [TAJO-175] - MergeJoinExec incorrect processing
- [TAJO-177] - Call by reference bug in MergeJoinExec
- [TAJO-180] - Better error messages for StorageManager.listStatus$InvalidInputException
- [TAJO-186] - Improve column resolving method
- [TAJO-187] - The exception 'Some targets cannot be evaluated' is caused in nested joins
- [TAJO-189] - LazyTuple should return NullDatum if a column value is null
- [TAJO-191] - INSERT OVERWRITE INTO statement should follow the table meta in catalog
- [TAJO-198] - The split function does not work properly
- [TAJO-203] - Field delimiter does not work correctly
- [TAJO-205] - Repartitioner occasionally chooses a partition number as one
- [TAJO-209] - 'create table as' statement causes IllegalStateException
- [TAJO-226] - Can't use group by column alias
- [TAJO-227] - Can't use group by column alias
- [TAJO-228] - Can't use group by column alias
- [TAJO-231] - In StorageManger v2, TestCSVCompression incurs unexpected end of stream occasionally
- [TAJO-238] - NullPointerException occurs when a query includes an alias of UDF at the group by clause
- [TAJO-241] - Does not reconnect the meta store
- [TAJO-242] - Enable omitted broadcast join feature after TAJO-184
- [TAJO-243] - The 'tajo_dump' does not include options of table
- [TAJO-244] - assignToNonLeafTasks causes NPE occurs occasionally
- [TAJO-245] - org.apache.tajo.algebra.FunctionExpr cannot be cast to org.apache.tajo.algebra.ColumnReferenceExpr
- [TAJO-248] - $TAJO_HOME/bin/tajo_dump.sh does not make {'csvfile.delimiter', 'csvfile.null', 'compression_type'}
- [TAJO-249] - Wrong evaluation case of boolean expression
- [TAJO-250] - QueryMaster must send the query finish heartbeat.
- [TAJO-257] - Unit tests occassionally fail.
- [TAJO-262] - Integration test hang on jenkins
- [TAJO-264] - Remove hard-coded 'standby' mode
- [TAJO-272] - boolean test does not work correctly
- [TAJO-273] - NotEval incurs NPE with boolean column
- [TAJO-277] - Infinite loop occurs when a table is empty
- [TAJO-281] - 'mvn package -Pdist' generates duplicate Tajo jar files
New Feature
- [TAJO-19] - CREATE TABLE without external data should be supported
- [TAJO-24] - Cost-based Optimizer for Tajo
- [TAJO-31] - An web interface proposal for Tajo
- [TAJO-33] - Implement a basic query progress indicator
- [TAJO-68] - TajoCli should support 'drop table' statement.
- [TAJO-101] - HiveQL converter
- [TAJO-123] - Clean up the logical plan's json format
- [TAJO-134] - Support for compression/decompression of CSVFile
- [TAJO-136] - Broadcast join should be enabled
- [TAJO-139] - In predicate support
- [TAJO-142] - Implement hash anti-join operator
- [TAJO-143] - Implement hash semi-join operator
- [TAJO-144] - Implement INSERT OVERWRITE clause
- [TAJO-179] - Support MySQL CatalogStore
- [TAJO-185] - Implement split_part function
- [TAJO-193] - Add string pattern matching operators
- [TAJO-211] - Implement regexp_replace function
- [TAJO-212] - Implement type cast expression
- [TAJO-213] - NULL characters in meta of csv table should be supported
- [TAJO-220] - Implement catalog dump feature
- [TAJO-260] - Add between predicate
Improvement
- [TAJO-6] - Rename tajo.engine.function.builtin.NewSumInt to SumInt
- [TAJO-7] - Enabling TajoCli to take multiple lines as one statement
- [TAJO-11] - Update file README to reflect Apache incubation
- [TAJO-17] - Improve the examples for jvm version and auxiliary service in getting_started.apt
- [TAJO-32] - Cleanup TaskRunner
- [TAJO-40] - Adopt YarnClient to GlobalEngine
- [TAJO-42] - Divide SubQuery into FSM and execution block parts
- [TAJO-44] - Adopt AMRMClient to RMContainerAllocator, RMCommunicator
- [TAJO-50] - Cleanup SubQuery
- [TAJO-51] - Parallel Container Launch of TaskRunnerLauncherImpl
- [TAJO-70] - Refactor GlobalEngine to handle DDL statements
- [TAJO-71] - Case-insensitive parser
- [TAJO-72] - Rename NQL.g to SQL.g
- [TAJO-73] - Improve SQL parser to be more compatible with SQL-92 standard
- [TAJO-74] - Refactor parser rules of SQL.g
- [TAJO-75] - Separate SQL.g into SQLParser.g and SQLLexer.g
- [TAJO-79] - Refactor and Improve TajoCli
- [TAJO-83] - Handling the exception caused by integration test without the jvm option '-Dtajo.test=true'
- [TAJO-84] - Task scheduling with considering disk load balance
- [TAJO-85] - Add an method of create(DataType, byte[]) to DatumFactory
- [TAJO-86] - Improved error messages in query analyzer
- [TAJO-87] - Integration of tajo algebra module and SQL parser.
- [TAJO-88] - Separate Tajo's cluster resource manager from Yarn (Umbrella)
- [TAJO-90] - Bump up hadoop-2.0.2-alpha to hadoop-2.0.5-alpha
- [TAJO-93] - Rename GsonCreators to more specified names
- [TAJO-94] - Remove duplicate proto files.
- [TAJO-95] - Eliminate the lazy copy approach from the classes wrapping protobuf-generated classes.
- [TAJO-118] - Refactor and Improve text file Scanner
- [TAJO-119] - Refactor and Improve Datum
- [TAJO-120] - TestCase doesn't call ResultSet.close
- [TAJO-125] - Improve LogicalPlanner and LogicalOptimizer to support table subqueries
- [TAJO-141] - Set on demand as the default cluster mode
- [TAJO-145] - count(distinct column) should be supported.
- [TAJO-149] - Eliminate QueryConf and its file write
- [TAJO-154] - Query calculates wrong progress in multiple step queries.
- [TAJO-167] - Implement GeneralSetFunctionExpr to represent all SQL standard set functions.
- [TAJO-178] - Implements StorageManager for scanning asynchronously
- [TAJO-181] - Improvement of disk scheduler policy for straggler disk
- [TAJO-183] - Creating too many TableMetaProto objects might lead a potential memory leak
- [TAJO-184] - Refactor GlobalPlanner and global plan data structure
- [TAJO-188] - In TajoCli, CREATE TABLE AS and INSERT OVERWRITE INTO should print out response times.
- [TAJO-194] - LogicalNode should have an identifier to distinguish each logical node instance.
- [TAJO-197] - Implement Enforcer that forces physical planner to choose specified algorithms
- [TAJO-199] - All relations in catalog must have data volume size.
- [TAJO-202] - In TajoCli, table description (\d) should show table meta properties.
- [TAJO-214] - System should inquire finished query history after execution in web
- [TAJO-223] - Maximize disk read bandwidth utilization of StorageManagerV2 by moving Tuple creation role to next()
- [TAJO-224] - Rearrange DataType enumeration and Refactor type systems
- [TAJO-232] - Rename join operators and add other join operators to PhysicalPlanner
- [TAJO-236] - Implement LogicalPlanVerifier to check if a logical plan is valid
- [TAJO-239] - Improving web UI
- [TAJO-253] - Clean up tajo-default.xml in test resource
- [TAJO-254] - Refactor package names and class names to have proper names
- [TAJO-255] - Cleanup exceptions of engine
- [TAJO-261] - Rearrange default port numbers and config names.
- [TAJO-270] - Boolean datum compatible to apache hive
Wish
- [TAJO-28] - Make Apache Tajo works with Protocol buffer 2.5.0
- [TAJO-649] - tajo 0.2.0 have a JDBC driver?
Task
- [TAJO-2] - remove all @author tags and update license header
- [TAJO-4] - Update the project site
- [TAJO-22] - The package prefix should be org.apache.tajo.
- [TAJO-27] - Modify the document links to point the wiki's ones.
- [TAJO-37] - Remove obsolete classes WorkerEventDispatcher, WorkerEvent and WorkerEventType
- [TAJO-39] - Remove the unused package 'tajo.engine.plan.global'
- [TAJO-43] - Fixed-length string type support
- [TAJO-53] - Use Jenkins for regular build and post-commit test
- [TAJO-55] - Tajo Project Logo
- [TAJO-56] - Remove gh-pages, branch-0.1.8, and branch-0.1.7 branches
- [TAJO-58] - Remove obsolete methods in GlobalPlanner
- [TAJO-69] - Add .reviewboardrc file to the ignore lists of Rat and .gitignore
- [TAJO-76] - Coding Convention
- [TAJO-77] - Rename TabletProto as FragmentProto in CatalogProtos.proto
- [TAJO-81] - Update the home page with Tajo logo
- [TAJO-100] - Port the parse error handling to the new parser
- [TAJO-128] - Cleanup unused maven report plugin and add surefire
- [TAJO-129] - Enable the constructor of NettyServerBase to take service name
- [TAJO-251] - Rename the legacy name *.tql to *.sql
- [TAJO-252] - Add DISCLAIMER file
- [TAJO-265] - Update installation guide and other documentation for 0.2 release
- [TAJO-271] - Add MIT license to NOTICE.txt and LICENSE.txt for jquery and jsPlumb
- [TAJO-276] - Update LICENSE.txt and NOTICE.txt files
- [TAJO-278] - Add ASF License 2.0 header to *.jsp and web.xml files
- [TAJO-288] - Correct NOTICE file and LICENSE.txt
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.