Tajo Change Log 

Release 0.12.0 - unreleased

  NEW FEATURES

    TAJO-2179: Add a regular expression scanner and appender. (jinho)

    TAJO-2165: Add 'ALTER TABLE UNSET PROPERTY' statement to Tajo DDL.
    (Lee Dongjin via jihoon)

    TAJO-2160: Implement string_agg function. (Byunghwa Yun via jinho)

    TAJO-2148: Implement an example HTTP tablespace. (jihoon)

    TAJO-1686: Allow Tajo to use Hive UDF. (Jongyoung Park via jihoon)

    TAJO-2122: PullServer as an Auxiliary service of Yarn. (jihoon)

    TAJO-2109: Implement Radix sort. (jihoon)

    TAJO-1955: Add a feature to strip quotes from CSV file. (hyunsik)

  IMPROVEMENT

    TAJO-2185: Eliminate protoc binary dependency. (hyunsik)

    TAJO-2180: Disable unsetting timezone property in HiveCatalogStore.
    (Lee Dongjin via jinho)

    TAJO-2170: Disable unsetting timezone property. (Lee Dongjin via jinho)

    TAJO-2175: Fix some glitches in source code. (Lee Dongjin via jihoon)

    TAJO-2146: Fragment interface cleanup. (jihoon)

    TAJO-2129: Apply new type implementation to Schema and Catalog. (hyunsik)

    TAJO-2071: Supporting DATE type in Parquet format. 
    (Jongyoung Park via hyunsik)

    TAJO-2106: Fix minor typo in PostgreSQL Storage Handler documentation.
    (Byunghoon Lim via jihoon)

    TAJO-2116: Simplify rpc address in default configuration. (jinho)

    TAJO-2126: Allow parallel execution of non-leaf sibling ExecutionBlocks.
    (jihoon)

    TAJO-2127: Use Type instead of DataType for EvalNode. (hyunsik)

    TAJO-2125: Detect JAVA_HOME on OSX, if JAVA_HOME is not set. (jinho)

    TAJO-2108: Refactor Schema to be immutable. (hyunsik)

    TAJO-2112: Improve disk load, when queries run simultaneously. (jinho)

    TAJO-2104: Implement Identifier which supports quotation information. 
    (hyunsik)

    TAJO-2099: Implement an Adapter for the legacy Schema. (hyunsik)

    TAJO-2091: Error or progress update should use stderr instead of stdout. 
    (hyunsik)

    TAJO-2064: Supporting auto-completion in Tsql. (Jongyoung Park via jaehwa)

    TAJO-2043: Implement new data type and schema. (hyunsik)

    TAJO-2090: Bump up orc version to 0.141. (hyunsik)

    TAJO-2089: Improve null handling in UDF. (jinho)

    TAJO-2073: Upgrade parquet-mr to 1.8.1. (jinho)

    TAJO-2052: Upgrading ORC reader version. (Jongyoung Park via jaehwa)
    
    TAJO-1940: Implement HBaseTablespace::getTableVolume() method. (hyunsik)

    TAJO-2061: Add description for EXPLAIN statement. (jaehwa)

    TAJO-2060: Upgrade geoip-api-java library. (Byunghwa Yun via jinho)

    TAJO-2048: QueryMaster and TajoWorker should support the exception
    propagation. (jinho)

    TAJO-2050: Adopt TAJO logo in CLI.
    (Dongkyu Hwangbo via jaehwa)

    TAJO-1740: Update Partition Table document. (jaehwa)
    
    TAJO-2053: Update description for HBase configuration.
    (Dongkyu Hwangbo via jaehwa)

    TAJO-2057: Remove redundant class loading in plan optimizer. (jinho)

    TAJO-2032: Change tajo.rest.service.port to be the general style in TAJO.
    (Byunghwa Yun via jihoon)

    TAJO-1971: Replace 'for' loop with 'foreach'. (Dongkyu Hwangbo via jihoon)

    TAJO-2040: Decrease the default size of max request for locality. (jinho)

    TAJO-2035: Rewrite README file using Markdown format. 
    (Dongkyu Hwangbo via jinho)

    TAJO-1991: Tablespace::getVolume should take filter predication. (hyunsik)

    TAJO-1944: Support text resultset for REST (DaeMyung)

    TAJO-1950: Query master uses too much memory during range shuffle. (jihoon)

    TAJO-1858: Aligning error message in execute query page of web UI is needed.
    (Byunghwa Yun via jihoon)

    TAJO-2007: By default, Optimizer should use the table volume in TableStat.
    (hyunsik)

    TAJO-2022: Add AsyncTaskServer to TajoMaster. (hyunsik)

    TAJO-1990: Refine some parts in HBaseTablespace. (hyunsik)

    TAJO-2005: Add TableStatUpdateRewriter. (hyunsik)

    TAJO-1948: Change GroupbyNode::setAggFunctions and getAggFunctions to set 
    and get List. (Dongkyu Hwangbo via hyunsik)

    TAJO-1979: Usage of some TajoShellCommand is omitted.
    (Dongkyu Hwangbo via jaehwa)

    TAJO-1998: Waiting for gracefully stopping in tajo-deamon.sh is too short.
    (jinho)

    TAJO-1985: Supporting Metric report via JMX. (Yongjun Park via jinho)

    TAJO-1983: Improve memory usage of ExternalSortExec. (jinho)

    TAJO-1986: Rename the name 'option' to 'property' in TableMeta. (hyunsik)

    TAJO-1988: Remove some duplicated codes in toString() of Projectable.
    (hyunsik)
 
    TAJO-1984: Removed unused FileTablespace::getSplit methods. (hyunsik)

    TAJO-1271: Improve memory usage of Hash-shuffle. (jinho)

    TAJO-1966: Decrease memory usage of TajoTestingCluster. (jinho)

    TAJO-1941: PermGen elimination in JDK 8. (Dongkyu Hwangbo via hyunsik)

    TAJO-1920: Calling 'Collection.toArray()' with zero-length array argument 
    makes performance worse. (Dongkyu Hwangbo via hyunsik)

    TAJO-1911: Change guava's Optional to Java's Optional. (hyunsik)

    TAJO-1850: Using TUtil.newHash(Set/Map) should be replaced by Java's 
    diamond operator. (Contributed by Dongkyu Hwangbo, committed by hyunsik)

    TAJO-1883: Keep tajo-client and its dependent modules to be 1.7 target.
    (hyunsik)

    TAJO-1899: Calling 'Arrays.asList()' with too few arguments cause memory 
    extravagance. (Contributed by Dongkyu Hwangbo, committed by jihoon)
  
    TAJO-1461: Follow Protocol Buffer Style Guide. (Contributed by David Chen,
    committed by hyunsik)

    TAJO-1768: Move Tajo into Java 8. (hyunsik)

  BUG FIXES

    TAJO-2189: Dictionary encoded text in ORC scanner may cause incorrect result. (jinho)

    TAJO-2188: Can't start tajo daemon on HDP,CDH (jinho)

    TAJO-2184: Can not run Tajo with non-default $TAJO_CONF_DIR (Lee Dongjin via hyunsik)

    TAJO-2177: In BroadcastJoinRule, the total volume of broadcast tables should be 
    checked before stages are merged. (jihoon)

    TAJO-2168: NullPointerException occurs when a simple query contains a python udf. 
    (jihoon)

    TAJO-2164: SequenceFile print wrong values with TextSerializerDeserializer.
    (jaehwa)

    TAJO-2163: No error message is showed when query execution failed. 
    (Wonjun Hong via jihoon)

    TAJO-2150: Fix invalid implementation of date time in jdbc. (jinho)

    TAJO-2151: Fix broken CI. (jihoon)

    TAJO-2158: The concat_ws function can't support a tab separator.
    (Byunghwa Yun via jihoon)

    TAJO-2143: Fix race condition in task history writer. (jinho)

    TAJO-2140: TajoInternalError does not contains reason stack trace. (jinho)

    TAJO-2135: Invalid join result when join key columns contain nulls. (jihoon)

    TAJO-2110: Fix incorrect DateTime and remove hard coded tests. (jinho)

    TAJO-2119: Invalid sort result when sort key columns contain non-ascii values. 
    (jihoon)

    TAJO-2100: Add missing cancellation in defaultTaskScheduler when a worker is 
    no respond. (jinho)

    TAJO-2092: TestStorages.testNullHandlingTypesWithProjection occasionally fail.
    (jinho)

    TAJO-1793: result row count unmatched for UNION ALL. (jaehwa)

    TAJO-2082: Aggregation on a derived table which includes union can cause 
    incorrect result. (jihoon)

    TAJO-2081: Incorrect task locality on single node. (jinho)

    TAJO-2080: ArrayIndexOutOfBoundsException when performing aggregation on an 
    union block. (jihoon)

    TAJO-2078: TestTajoCli.testSelectResultWithNullTrueDeprecated occasionally
    fails. (Dongkyu Hwangbo via jaehwa)

    TAJO-2077: Join condition causes incorrect result, when a table has an empty 
    row file. (jinho)

    TAJO-2072: The constructor of RegionSizeCalculator changes for HBase 1.0.0 
    compatibility. (Byunghwa Yun via jinho)

    TAJO-858: Support for hadoop kerberos authentication in Tajo.
    (Min Zhou via jinho)

    TAJO-2066: Fix TestJoinOnPartitionedTables.testPartialFilterPushDown failure.
    (jinho)

    TAJO-2062: Fix TestQueryResult#testTemporalResultOnClose failure. (jinho)

    TAJO-1921: Hbase Storage can cause NPE when the hbase cluster is restarted.
    (Byunghwa Yun via hyunsik)

    TAJO-2038: NPE in FileScanner#getProgress. (jinho)

    TAJO-2034: Files required for executing python functions are not copied in 
    testEval(). (jihoon)

    TAJO-2037: tajo-storage-hdfs tests occasionally hangs. (jinho)

    TAJO-2025: HBASE_LIB/metrics-core-*.jar should be included in CLASSPATH.
    (Contributed by Dongkyu Hwangbo, committed by jinho)

    TAJO-2016: Fix storage tests hangs. (jinho)

    TAJO-2013: FilterPushDownRule fails due to the unsupported index. (jinho)

    TAJO-2014: TestRpcClientManager fails occasionally. (jinho)

    TAJO-2000: BSTIndex can cause OOM. (jinho)

    TAJO-1992: \set timezone in cli doesn't work because of casesensitive (DaeMyung)

    TAJO-1993: Table Timezone doesn't work when Timezone is not exactly same.(DaeMyung)

    TAJO-2010: Parquet can not read null value. (jinho)

    TAJO-2001: DirectRawFileScanner.getProgress occasionally fails. (jinho)

    TAJO-1753: GlobalEngine causes NPE occurs occasionally. (jinho)

    TAJO-1862: TSQL gives user wrong URL of documentation. 
    (Contributed by Dongkyu Hwangbo, committed by hyunsik)

    TAJO-1980: Printout the usage of TajoShellCommand.
    (Contributed by Dongkyu Hwangbo, committed by jaehwa)

    TAJO-1981: Invalid nulls sort order in VectorizedSorter. (jihoon)

    TAJO-1935: Some Tasks don't work after they become TA_ASSIGNED. (jinho)

    TAJO-1977: Cannot recognize the space-contained tablename and databasename.
    (Contributed by Dongkyu Hwangbo, committed by jihoon)

    TAJO-1978: Printout message before terminating TSQL.
    (Contributed by Dongkyu Hwangbo, committed by jaehwa)

    TAJO-1965: TestBlockingRpc::testServerShutdown occassionally fails. (jinho)

    TAJO-1882: Clean up GreedyHeuristicJoinOrderAlgorithm::getCost APIs. (jihoon)

    TAJO-1972: Invalid sort order with NULLS FIRST|LAST. (jihoon)

    TAJO-1896: Fix the travis test failure. (jinho)

    TAJO-1964: TestKillQuery::testKillQueryFromInitState causes NPE. (jinho)

    TAJO-1578: User configuration for pull server port is ignored.
    (Contributed by Dongkyu Hwangbo, committed by jihoon)

    TAJO-1954: Fix memory leak in physical operator. (jinho)

    TAJO-1643: SQLParse can't parse parentheses table clause. (hyunsik)

    TAJO-1924: Repair partition need to calculate partition volume. (jaehwa)
    
    TAJO-1913: Timezone does not affect the constant folding. (hyunsik)

    TAJO-1895: Add a maven profile to skip the unit tests of 
    tajo-storage-pgsql. (hyunsik)

    TAJO-1886: Set compilerSourceVM and compilerTargetVM to web.xml. (hyunsik)

  TASKS

    TAJO-2166: Disallow csv file format in DDL Languages. (Lee Dongjin via jihoon)

    TAJO-2176: Refining function documents. (Jongyoung)

    TAJO-2154: Refactor Datum to use new Type implementation. (hyunsik)

    TAJO-2027: Writing Hive UDF integration document. (Jongyoung via hyunsik)

    TAJO-2157: EvalNodeSerializer/Deserializer should use new Type 
    implementation. (hyunsik)

    TAJO-2145: Error codes based on errno.h need prefix. 
    (Jongyoung Park via hyunsik)

    TAJO-2117: Add some missing index to MariaDBStore.
    (Janaka Chathuranga Thilakarathna via jaehwa)

    TAJO-2142: Temporarily disable NOT IN subquery. (jihoon)

    TAJO-2088: Change QueryTestCaseBase.runSimpleTests() to return a set of 
    TajoResultSetBase. (jihoon)

    TAJO-2033: Printing out query status with progress bar in TSQL.
    (Dongkyu Hwangbo via jihoon)

    TAJO-2076: Add backward compatibility testing with hadoop on travis. (jinho)

    TAJO-2074: Upgrade hadoop and netty. (jinho)

    TAJO-1939: Implement PgSQLTablespace::getTableVolume() method. (jihoon)

    TAJO-2017: Replace manual array copy with Collection.
    (Dongkyu Hwangbo via jinho)

    TAJO-2070: Remove unnecessarily version property in maven pom. (jinho)

    TAJO-2065: Increase default heap size. (jinho)

    TAJO-2041: Update the Team page. (jaehwa)

    TAJO-2018: Remove redundant 'String.toString()'. (Dongkyu Hwangbo via jinho)

    TAJO-1705: Update document for index support. (jihoon)

    TAJO-2028: Refining Hive Integration document including typo. 
    (Jongyoung Park via jihoon)

    TAJO-1999: TUtil.newList/newLinkedHashMap should be replaced by Java's diamond 
    operator. (Dongkyu Hwangbo via jihoon)

    TAJO-2020: Remove unused import statements in S3TableSpace.
    (Contributed by  Byunghwa Yun, committed by jaehwa)

    TAJO-2021: Some refactoring and changing anonymous class to lambda expression.
    (Contributed by Jongyoung Park. Committed by jinho)

    TAJO-2019: Replace manual array copy with System.arraycopy(). 
    (Contributed by Dongkyu Hwangbo, committed by jihoon)

    TAJO-1994: Some trivial modification is needed in compression document.
    (Contributed by Jongyoung Park. Committed by jihoon)

    TAJO-1973: Replace 'while' loop with 'foreach'. (Contributed by Dongkyu Hwangbo, 
    committed by jihoon)

    TAJO-1855: Add document for tablespace configuration to the Configuration chapter.
    (Contributed by Jongyoung Park. Committed by jihoon)

    TAJO-1854: Add in-subquery document. (jihoon)

    TAJO-2003: Fix typo in worker configuration. (jinho)

    TAJO-1962: Add description for session variables. (jihoon)

    TAJO-1857: Rename the section of 'File Formats' to 'Data Formats' and fill
    compression section of the 'Table Management' chapter. 
    (Contributed by Jongyoung Park. Committed by jihoon)

    TAJO-1975: Gathering fine-grained column statistics for range shuffle. (jihoon)

    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)

    TAJO-1906: Decrease the default size of hash map and array list for testing.
    (jihoon)

    TAJO-1934: Test failures in TestPgSQLQueryTests due to sort order. 
    (Contributed by Dongkyu Hwangbo, committed by jihoon)

    TAJO-1916: 'How to contribute' link is broken. (jihoon)

    TAJO-1907: Reduce the size of the INDEXES table's COLUMN_NAMES field.
    (jihoon)

    TAJO-1908: Add a link to the nightly build version to the download page.
    (jihoon)

    TAJO-1915: Add a TajoClient example for creating and getting tables.
    (hyunsik)

    TAJO-1893: Remove unused import. (Contributed by Dongkyu Hwangbo, 
    Committed by jihoon)

  SUB TASKS

    TAJO-2159: Function document should be modified as removing INET4 type. (jypark)

    TAJO-2069: Implement finding the total size of all objects in a bucket
    with AWS SDK. (jaehwa)

    TAJO-1488: Implement KafkaTablespace. (Byunghwa Yun via jinho)

    TAJO-1487: Kafka Scanner for kafka strage. (Byunghwa Yun via jinho)

    TAJO-2174: Implement HiveCatalogStore#alterTable. (Lee Dongjin via jinho)

    TAJO-1480: Kafka Consumer for kafka strage. 
    (Contributed by Byunghwa Yun. Committed by jinho)

    TAJO-2156: Create GeoIP functions taking various types instead of INET4 type. (Jongyoung)

    TAJO-2130: Remove inet4 data type.
    (Contributed by Jongyoung Park. Committed by jihoon)

    TAJO-1997: Registering UDF, it needs to check duplication.
    (Contributed by Jongyoung Park. Committed by jihoon)

    TAJO-2024: Remove getContentSummary from HCatalogStore. (hyunsik)

    TAJO-2004: S3TableSpace needs to extend FileTableSpace. (jaehwa)

    TAJO-1960: Separate HDFS space handler and S3 space handler. (jaehwa)

    TAJO-1856: Add a description about the relationship of tablespace, managed 
    table, and external table to Tablespace section of Table Management 
    chapter. (Contributed by Jongyoung Park. Committed by jihoon)

    TAJO-1922: Allow date types with IN operator for partition pruning. (jaehwa)

    TAJO-1967: Replace 'try finally' with 'try' with resources.
    (Contributed by Dongkyu Hwangbo, Committed by jihoon)

    TAJO-1947: Change Projection::setNamedExprs and getNamedExprs to set and 
    get List<NamedExpr>. (Contributed by Dongkyu Hwangbo, Committed by hyunsik)

    TAJO-1946: Change Projectable::setTargets and getTargets to set and get
    List<Target>. (Contributed by Dongkyu Hwangbo, Committed by jihoon)

    TAJO-1877: Adopt try-resource statement to AbstractDBStore. 
    (Contributed by Dongkyu Hwangbo, Committed by jihoon)

    TAJO-1653: Add 'INSERT INTO VALUES' statement for OLTP-like storages.
    (hyunsik)

    TAJO-1936: NPE when calling the query result REST api(DaeMyung Kang)

    TAJO-1909: Eliminate remained explicit diamond expressions.
    (Contributed by Dongkyu Hwangbo, committed by hyunsik)

    TAJO-1844: Eliminate explicit diamond expressions. 
    (Contributed by Dongkyu Hwangbo, committed by hyunsik)


Release 0.11.0 - Released

  NEW FEATURES

    TAJO-1832: Well support for self-describing data formats. (jihoon)

    TAJO-1730: JDBC Tablespace support. (hyunsik)

    TAJO-1812: Timezone support in JSON file format. (hyunsik)

    TAJO-1486: Text file should support to skip header rows when creating 
    external table. (Contributed by Jongyoung Park. Committed by jinho)

    TAJO-1661: Implement CORR function. (jihoon)

    TAJO-1537: Implement a virtual table for sessions. 
    (Contributed by Yongjin Choi, Committed by hyunsik)

    TAJO-1562: Python UDAF support. (jihoon)

    TAJO-1344: Python UDF support. (jihoon)

    TAJO-923: Add VAR_SAMP and VAR_POP window functions. 
    (Contributed by Dongjoon Hyun, Committed by jihoon)

    TAJO-1494: Add SeekableScanner support to DelimitedTextFileScanner.
    (jinho)

    TAJO-921: Add STDDEV_SAMP and STDDEV_POP window functions. (Keuntae Park)

    TAJO-1135: Implement queryable virtual table for cluster information.
    (jihun)

    TAJO-1430: Improve SQLAnalyzer by session-based parsing-result caching.
    (Contributed by Dongjoon Hyun, Committed by jihoon)

  IMPROVEMENT

    TAJO-1663: Change the variable name storeType to dataFormat. (hyunsik)

    TAJO-1885: Simple query with projection should be supported. (hyunsik)

    TAJO-1890: Clean up debug and test modes and unhandled exceptions. 
    (hyunsik)

    TAJO-1860: Refactor Rpc clients to take Connection Parameters. (hyunsik)
 
    TAJO-1868: Allow TablespaceManager::get to return a unregistered 
    tablespace. (hyunsik)

    TAJO-1867: TajoMaster should handle the change of ${tajo.root}. (hyunsik)

    TAJO-1134: start-tajo.sh should display WEB UI URL and TajoMaster RPC 
    address. (Contributed YeonSu Han, committed by hyunsik)

    TAJO-1340: Change the default output file format. (jinho)

    TAJO-1835: TajoClient::executeQueryAndGetResult should throw 
    Query(Failed|Killed)Exception. (hyunsik)

    TAJO-1831: Add a shutdown hook manager in order to set priorities. (jinho)

    TAJO-1817: Improve SQL parser error message. (hyunsik)

    TAJO-1825: Remove zero length fragments when file length is zero. (jinho)

    TAJO-1828: tajo-daemon scripts should kill process after process can not 
    stop gracefully. (jinho)

    TAJO-1729: No handling of default case in DDLExecutor.
    (Contributed by Dongkyu Hwangbo. Committed by jinho)

    TAJO-1818: Separate sql parser into an independent maven module.
    (hyunsik) 

    TAJO-1816: Refactor SQL parser tests. (hyunsik)

    TAJO-1738: Improve off-heap RowBlock. (jinho)

    TAJO-1810: Remove QueryMasterTask cache immediately, if it stored to 
    persistent storage. (jinho)

    TAJO-993: Cleanup the result data in HDFS after query finished.
    (jinho)

    TAJO-1766: Improve the performance of cross join. (jihoon)

    TAJO-1792: tajo-cluster-tests is not available when it is used as an 
    external maven module. (hyunsik)

    TAJO-1775: TAJO-1775: HCatalogStore need to be deprecated. (jaehwa)

    TAJO-1745: Add positive and negative test methods. (hyunsik)
 
    TAJO-1757: Add examples for TajoClient v2. (hyunsik)

    TAJO-1761: Separate an integration unit test kit into an independent 
    module. (hyunsik)

    TAJO-680: Improve the IN operator to support sub queries. (jihoon)

    TAJO-1751: Reduce the client connection timeout. (jinho)

    TAJO-1746: Improve resource usage at first request of DefaultTaskScheduler.
    (jinho)

    TAJO-1743: Improve calculation of intermediate table statistics. (jinho)

    TAJO-1699: Tajo Java Client version 2. (hyunsik)

    TAJO-1721: Separate routine for CREATE TABLE from DDLExecutor. (hyunsik)

    TAJO-1736: Remove unnecessary getMountPath(). 
    (Contributed by YeonSu Han, Committed by jinho)

    TAJO-1645: Bump up hbase to 1.1.1. (hyunsik)

    TAJO-1715: Precompute the hash value of various kinds of ids. (jihoon)

    TAJO-1703: Remove hardcoded value in NodeStatusUpdater. (jinho)

    TAJO-1701: Remove forward or non-forward query concept in TajoClient. 
    (hyunsik)

    TAJO-1651: Too long fetcher default retries. (jinho)

    TAJO-1700: Add better exception handling in TajoMasterClientService. 
    (hyunsik)

    TAJO-1343: Improve the memory usage of physical executors. (jihoon)

    TAJO-1696: Resource calculator should consider the requested disk resource 
    at the first stage. (jihoon)

    TAJO-1695: Shuffle fetcher executor should be consider random writing.
    (jinho)

    TAJO-1397: Resource allocation should be fine grained. (jinho)

    TAJO-1352: Improve the join order algorithm to consider missed cases of 
    associative join operators. (jihoon)

    TAJO-1677: Remove unnecessary messages for the Travis CI build. (jaehwa)

    TAJO-1672: Removing rest api to create table
    POST /databases/{database-name}/tables interface
    (Contributed by DaeMyung Kang, Committed by jaehwa)

    TAJO-1638: Remove offset parameter from rest api result/{cacheId}.
    (Contributed by DaeMyung Kang, Committed by jaehwa)

    TAJO-1659: Simplify scan iteration in SeqScan. (hyunsik)

    TAJO-751: JDBC driver should support cancel() method.
    (Contributed by navis, Committed by jihoon)

    TAJO-1649: Change Rest API /databases/{database-name}/functions to 
    /functions. (Contributed by DaeMyung Kang, Committed by hyunsik)

    TAJO-1646: Add extlib directory for third-party libraries. (hyunsik)

    TAJO-1636: query rest api uri should change
    from /databases/{database_name}/queies to /queries.
    (Contributed by DaeMyung Kang, Committed by jaehwa)

    TAJO-1624: Add managed table or external description in Table management 
    section. (hyunsik)

    TAJO-1626: JdbcConnection::setAutoCommit() should not throw an exception.
    (hyunsik)

    TAJO-1130: Concurrent execution of independent execution blocks.
    (Contributed by navis, Committed by jihoon)

    TAJO-1618: [Rest API] queries/{queryId} should set default print type.
    (Contributed by DaeMyung Kang, Committed by jihoon)

    TAJO-1553: Improve broadcast join planning. (jihoon)

    TAJO-1577: Add test cases to verify join plans. (jihoon)

    TAJO-1607: Tajo Rest Cache-Id should be bigger than zero. (Contributed by 
    DaeMyung Kang, Committed by hyunsik)

    TAJO-1603: Refactor StorageManager. (hyunsik)

    TAJO-1542: Refactoring of HashJoinExecs. (Contributed by Navis, 
    Committed by hyunsik)

    TAJO-1591: Change StoreType represented as Enum to String type. (hyunsik)

    TAJO-1452: Improve function listing order (Contributed Dongjoon Hyun, 
    Committed by hyunsik)

    TAJO-1576: Sometimes DefaultTajoCliOutputFormatter.parseErrorMessage() 
    eliminates an important kind of information. 
    (Contributed by Jongyoung Park, Committed by jihoon)

    TAJO-1584: Remove QueryMaster client sharing in TajoMaster and TajoWorker.
    (jinho)

    TAJO-1563: Improve RPC error handling. (jinho)

    TAJO-1311: Enable Scattered Hash Shuffle for CTAS statement. (jaehwa)

    TAJO-1548: Refactoring condition code for CHAR into CatalogUtil.
    (Contributed by DaeMyung Kang, Committed by jaehwa)

    TAJO-1570: CatalogUtil newSimpleDataTypeArray should use newSimpleDataType.
    (Contributed by DaeMyung Kang, Committed by jihoon)

    TAJO-1442: Improve Hive Compatibility. (jaehwa)

    TAJO-1530: Display warn message when the query kill button is clicked in 
    WEB UI. (Contributed by Dongjoon Hyun, Committed by hyoungjun)
  
    TAJO-1509: Use dedicated thread to release resource allocated to container.
    (Contributed by navis, Committed by hyoungjun)

    TAJO-1454: Comparing two date or two timestamp need not normalizing
    (Contributed by navis, Committed by hyoungjun)

    TAJO-1385: Remove locking on RMContext. (Contributed by navis, 
    Committed by jihoon)

    TAJO-1499: Check the bind status when EvalNode::eval() is called. (jihoon)

    TAJO-1400: Add TajoStatement::setMaxRows method support.
    (Contributed by YeonSu Han, Committed by jihoon)

    TAJO-1421: Add 'ALTER TABLE SET PROPERTY' statement.
    (Contributed by Yongjin Choi. Committed by jaehwa)

    TAJO-1501: Too many log message of HashShuffleAppenderManager.
    (Contributed by Jongyoung Park. Committed by jaehwa)

    TAJO-1428: Support min, max builtin functions for DATE, TIME, TIMESTAMP.
    (Contributed by Dongjoon Hyun, Committed by Keuntae Park)

    TAJO-1436: Add Bind method to EvalNode. (Contributed by navis,
    Committed by jihoon)

    TAJO-1495: Clean up CatalogStore. (jaehwa)
   
    TAJO-1460: Apply TAJO-1407 to ExternalSortExec. (Contributed by navis, 
    Committed by hyoungjun)

    TAJO-1350: Refactor FilterPushDownRule::visitJoin() into well-defined, 
    small methods. (jihoon)

    TAJO-1426: Support "explain global" to get physical plan. (Contributed by
    navis, Committed by jihoon)

    TAJO-1407: Minor performance improvement of MemSortExec. (Contributed by
    navis, Committed by jihoon)

    TAJO-1403: Improve 'Simple Query' with only partition columns and constant 
    values. (Contributed by Dongjoon Hyun, Committed by jihoon)

    TAJO-1418: Comment on TAJO_PULLSERVER_STANDALONE in tajo-env.sh 
    is not consistent. (Contributed by navis, Committed by hyunsik)

    TAJO-1381: Support multi-bytes delimiter for Text file.
    (Contributed by navis, Committed by jinho)

    TAJO-1391: RpcConnectionPool should check reference counter of connection 
    before close. (Contributed by navis, Committed by jihun)

    TAJO-1383: Improve broadcast table cache. (jinho)

    TAJO-1374: Support multi-bytes delimiter for CSV file.
    (Contributed by navis, Committed by jinho)

    TAJO-1395: Remove deprecated sql files for Oracle and PostgreSQL. (jihun)

    TAJO-1394: Support reconnect on tsql. 
    (Contributed by navis, Committed by hyunsik)

    TAJO-527: Upgrade to Netty 4. (jihun)

    TAJO-1369: Some stack trace information is missed in error/fail logging. 
    (Contributed by navis, Committed by hyunsik)

  BUG FIXES

    TAJO-1933: When a simple query executed on partitioned tables, the number of 
    result rows is always the number of rows of the whole table. (jihoon)

    TAJO-1928: Can't read parquet on hive meta. (jinho)

    TAJO-1923: Selecting on information_schema.table_stats throws an internal 
    error. (jihoon)

    TAJO-1917: Conflict on Parquet Libraries. (Contributed by Jongyoung Park.
    Committed by jihoon)

    TAJO-1900: When a record column and its child column are retrieved together, 
    the record column might not be inferred as record type properly. (jihoon)

    TAJO-1875: Resource leak after a query failure. (jihoon)

    TAJO-1903: Insert clause occassionally fails on S3. (jinho)

    TAJO-1912: Selection from aliased schemaless tables throws an error. 
    (jihoon)

    TAJO-1918: Writing text type in Parquet should handle text bytes.
    (Contributed by Jongyoung Park. Committed by jinho) 

    TAJO-1901: Repair partition throws ArrayIndexOutOfBoundsException 
    occasionally. (Contributed by jaehwa, committed by hyunsik)

    TAJO-1902: Add line delimiter for repair partition in TajoDump. (jaehwa)

    TAJO-1889: UndefinedColumnException when a query with table subquery is
    executed on self-describing tables. (jihoon)

    TAJO-1894: Filter condition is ignored when a query involves multiple 
    subqueries and aggregations. (jihoon)

    TAJO-1827: JSON parsing error at storage-site.json while tajo master
    starts up. (jaehwa)

    TAJO-1884: Add missing jetty-util dependency. (jinho)

    TAJO-1861: TSQL should change line after printout error message during 
    connecting other database. (jihoon)

    TAJO-1873: Fix NPE in QueryExecutorServlet. (jinho)

    TAJO-1871: '-DskipTests' flag does not work. (jihoon)

    TAJO-1869: Incorrect result when sorting table with small files. (jinho)

    TAJO-1846: Python temp directory path should be selected differently based 
    on user platform. (Contributed by Dongkyu Hwangbo, Committed by jihoon)

    TAJO-1848: ShutdownHook in TajoMaster can throw NPE if serviceInit().
    (hyunsik)

    TAJO-1851: Can not release a different rack task. (jinho)

    TAJO-1830: Fix race condition in HdfsServiceTracker. (jinho)

    TAJO-1727: Avoid to create external table using TableSpace. (jaehwa)

    TAJO-1600: Invalid query planning for distinct group-by. (hyunsik)

    TAJO-1782: Check ON_ERROR_STOP flag in TSQL when error is occured. 
    (Contributed by Dongkyu Hwangbo, Committed by jihoon)

    TAJO-1829: Fix DelimitedTextFileAppender NPE in negative tests. (jinho)

    TAJO-1674: Validation of CTAS schema mismatch. (hyunsik)

    TAJO-1819: Cannot find existing tables when pgsql catalog starts up. 
    (jihoon)

    TAJO-1821: Temporary data is not cleared after TestCatalog. (jihoon)

    TAJO-1805: In the 'Execute Query' page of web UI, default database 
    should be set as 'default'. (Contributed by Dongkyu Hwangbo, committed 
    by hyunsik)

    TAJO-1823: Can't start TajoMaster. (hyunsik)

    TAJO-1820: Fix wrong case sensitivity rules of non-reserved keywords.
    (hyunsik)

    TAJO-1610: Cannot find column when the same name is used for table 
    and database. (hyunsik)

    TAJO-1800: WHERE clause is ignored with UNION. (hyunsik)

    TAJO-1815: Catalog store initialization with PostgreSQL failed.
    (Contributed by Jongyoung Park, Committed by hyunsik)

    TAJO-1811: Catalog server address must be set dynamically during test.
    (jihoon)

    TAJO-1802: PythonScriptEngine copies controller and tajo util whenever 
    it is initialized. (jihoon)

    TAJO-1707: Rack local count can be more than actual number of tasks.
    (jinho)

    TAJO-1808: Wrong table type problem in catalog. (jihoon)

    TAJO-1801: Table name is not unique of tableDescMap in QueryMasterTask. 
    (jihoon)

    TAJO-1798: Dynamic partitioning occasionally fails. (jaehwa)
    
    TAJO-1799: Fix incorrect event handler when kill-query failed. (jinho)

    TAJO-1783: Query result is not returned by invalid output path. (jinho)

    TAJO-1596: TestPythonFunctions occasionally fails. (jinho)

    TAJO-1741: Two tables having same time zone display different timestamps.
    (Contributed Jongyoung Park, committed by hyunsik)

    TAJO-1790: TestTajoClientV2::testExecuteQueryAsyncWithListener 
    occasionally is failed. (hyunsik)

    TAJO-1776: Fix Invalid column type in JDBC. (jinho)

    TAJO-1781: Join condition is still not found when it exists in OR clause. 
    (jihoon)

    TAJO-1777: JsonLineDeserializer returns invalid unicode text, 
    if contains control character. (jinho)

    TAJO-1779: Remove "DFSInputStream has been closed already" messages 
    in DelimitedLineReader. (jinho)

    TAJO-1763: tpch/*.tbl files cannot be founded in maven modules except for 
    core-tests. (hyunsik)

    TAJO-1561: Query which contains join condition in "OR" clause does not 
    finish. (jihoon)

    TAJO-1752: NameResolver cannot find nested records properly. (jihoon)

    TAJO-1732: During filter push down phase, join conditions are not set 
    properly. (jihoon)

    TAJO-1742: Remove hadoop dependency in DatumFactory. (jinho)

    TAJO-1733: Finished query occasionally does not appear in Web-UI. (jinho)

    TAJO-1731: With a task failure, query processing is hanged after first 
    retry. (jihoon)

    TAJO-1608: Fix test failure in index_support branch. (jihoon)

    TAJO-1594: Catalog schema is invalid for some databases. (jihoon)

    TAJO-1657: Tajo Rest API /database/{database-name]/tables should return 
    table names only without invalid external table info. 
    (Contributed by DaeMyung Kang, Committed by jihoon)

    TAJO-1552: NPE occurs when GreedyHeuristicJoinOrderAlgorithm.getCost() 
    returns infinity. (Contributed by Hyoungjun Kim, Committed by jihoon)

    TAJO-1712: querytasks.jsp throws NPE occasionally when tasks are running.
    (jinho)

    TAJO-1716: Repartitioner.makeEvenDistributedFetchImpl() does not distribute 
    fetches evenly. (jihoon)

    TAJO-1681: Fix TajoDump invalid null check for database name.
    (Contributed by DaeMyung Kang, Committed by jihoon)

    TAJO-1702: Fix race condition in finished query cache. (jinho)

    TAJO-1597: Problem of ignoring theta join condition. (jihoon)

    TAJO-1697: RCFile progress causes NPE occasionally. (jinho)

    TAJO-1689: Metrics file reporter prints histogram metric without group name.
    (hyunsik)

    TAJO-1657: Tajo Rest API /database/{database-name]/tables should return 
    table names only without invalid external table info. 
    (Contributed by DaeMyung Kang, Committed by jihoon)

    TAJO-1644: When inserting empty data into a partitioned table,
    existing data would be removed. (jaehwa)

    TAJO-1642: CatalogServer need to check meta table first. (jaehwa)

    TAJO-1650: TestQueryResource.testGetAllQueries() occasionally fails.
    (Contributed by jinho, Committed by jaehwa)
 
    TAJO-1634: REST API: fix error when offset is zero.
    (Contributed by DaeMyung Kang, Committed by jaehwa)

    TAJO-1630: Test failure after TAJO-1130. (jihoon)

    TAJO-1623: INSERT INTO with wrong target columns causes NPE. (hyunsik)

    TAJO-1621: Compilation error with hadoop 2.7.0. (jinho)

    TAJO-1619: JDBC program is stuck after closing. (jihoon)

    TAJO-1620: random() in an SQL should generate RANDOM numbers.
    (Contributed by Jongyoung Park, Committed by jihoon)

    TAJO-1558: HBASE_LIB/hbase-server-*.jar should be included in the CLASSPATH.
    (Contributed by Jongyoung Park, Committed by jaehwa)

    TAJO-1605: Fix master build failure on jdk 1.6. (jinho)

    TAJO-1485: Datum 'Char' returned only 1byte.
    (Contributed by DaeMyung Kang, Committed by jihoon)

    TAJO-1586: TajoMaster HA startup failure on Yarn. (jaehwa)

    TAJO-1598: TableMeta should change equals mechanism.
    (Contributed by DaeMyung Kang, Committed by jihoon)

    TAJO-1593: Add missing stop condition to Taskrunner. (jinho)

    TAJO-1556: "insert into select" with reordered column list does not work.
    (Contributed by Yongjin Choi, Committed by jihoon)

    TAJO-1534: DelimitedTextFile return null instead of a NullDatum. (jinho)

    TAJO-1574: Fix NPE on natural join.
    (Contributed by Dongjoon Hyun, Committed by jihoon)

    TAJO-1581: Does not update last state of query stage in non-hash shuffle.
    (jinho)

    TAJO-1580: Error line number is incorrect.
    (Contributed by Jongyoung Park. Committed by jaehwa)

    TAJO-1419: Tsql session command doesn't work. (Contributed by DaeMyung Kang,
    Committed by jihoon)

    TAJO-1481: Numeric conversion of Inet4 type should be considered as unsigned.
    (Contributed by navis, Committed by jihoon)

    TAJO-1522: NPE making stage history before task scheduler is initialized.
    (Contributed by navis, Committed by jinho)

    TAJO-1560: HashShuffle report should be ignored when a succeed tasks are not
    included. (jinho)

    TAJO-1569: BlockingRpcClient can make other request fail. (jinho)

    TAJO-1564: TestFetcher fails occasionally. (jinho)

    TAJO-1497: RPC client does not share a connection. (jinho)

    TAJO-1467: Parenthesis at the start of SQL query is ignored. 
    (Keuntae Park)

    TAJO-1541: Connection timeout in netty client is not working.
    (Contributed by navis, Committed by jihun)

    TAJO-1500: FinishedTaskCleanThread is not interrupted when worker stops.
    (Contributed by navis, Committed by jihoon)

    TAJO-1469: allocateQueryMaster can leak resources if it times-out (3sec, 
    hardcoded) (Contributed by navis, Committed by hyoungjun)

    TAJO-1538: TajoWorkerResourceManager.allocatedResourceMap is increasing 
    forever. (Contributed by navis. Committed by jinho)

    TAJO-1510: Change a function name from getFileCunks to getFileChunks.
    (Contributed by Soonwoong Lee, Committed by jaehwa)

    TAJO-1360: VALUES_ field in OPTIONS table of catalog store should be longer.
    (Contributed by DaeMyung Kang, Committed by jihun)

    TAJO-1479: NPE during startup CatalogStore. (jaehwa)

    TAJO-1437: Resolve findbug warnings on Tajo JDBC Module. 
    (Contributed by Dongjoon Hyun, Committed by jihoon)

    TAJO-1438: Resolve findbug warnings on Tajo Client Module. 
    (Contributed by Dongjoon Hyun, Committed by jihoon)

    TAJO-1440: Some tests fail in parallel test environment in TestKillQuery.
    (Contributed by Jongyoung Park. Committed by jinho)

    TAJO-1147: Simple query doesn't work in Web UI.
    (Contributed by Jongyoung Park. Committed by jaehwa)

    TAJO-1434: Fix supporting version of Hadoop. 
    (Contributed by Dongjoon Hyun, Committed by jinho)

    TAJO-1449: TestSelectQuery.testExplainSelect() fails. (jihoon)

    TAJO-1396: Unexpected IllegalMonitorStateException can be thrown 
    in QueryInProgress. (Contributed by navis. Committed by jinho)

    TAJO-1414: Two RemoteException in rpc module. 
    (Contributed by navis. Committed by jihun)

    TAJO-1368: Exceptions during processing nested union queries.
    (jihun)

    TAJO-1405: Fix some illegal way of usages on connection pool. 
    (Contributed by navis, Committed by Keuntae Park)

    TAJO-1384: Duplicated output file path problem. (jihoon)

    TAJO-1386: CURRENT_DATE generates parsing errors sometimes.
    (Contributed by navis, Committed by hyunsik)

    TAJO-1387: Correct error message for EXISTS clause.
    (Contributed by Dongjoon Hyun, Committed by hyunsik)

    TAJO-1378: Incorrect version(0.8.0) info in tajo-doc. 
    (Contributed by Dongjoon Hyun, Committed by jihoon)

    TAJO-1370: TUtils.checkEquals() is not consistent with description 
    in javadoc. (Contributed by navis, Committed by hyunsik)

    TAJO-1362: Resolve findbug warnings on Tajo Core Module. (jihun)

    TAJO-1366: The timestamp type conversion occasionally leads to wrong 
    results. (jihoon)

    TAJO-1365: Suppress release audit warnings on Jekins builds. (jihun)

    TAJO-1357: Resolve findbugs warnings on Tajo Catalog Modules. (jihun)

    TAJO-1351: Resolve findbug warnings on Tajo Common Module. (jihun)
  
  TASKS

    TAJO-1914: Remove imports of guava library of facebook. (jihoon)

    TAJO-1872: Increase the minimum split size and add a classpath to hadoop 
    tools. (jihoon)

    TAJO-1870: Enable tests of tajo-storage-pgsql module when arch type 
    is 64-bit. (jinho)

    TAJO-1682: Write ORC document. (Contributed by Jongyoung Park, 
    Committed by jihoon)

    TAJO-1744: Porting bash shell scripts to Windows command shell scripts.
    (Contributed by YeonSu Han, Committed by jihoon)

    TAJO-1853: Add tablespace syntax to the CREATE TABLE section of DDL page. 
    (jihoon)

    TAJO-1824: Remove partition_keys table from information_schema. (jaehwa)

    TAJO-1813: Allow external catalog store for unit testing. (jihoon)

    TAJO-1845: Enforcers in the master plan should be printed in a fixed 
    order. (jihoon)

    TAJO-1739: Add a statement for adding partition to TajoDump. (jaehwa)

    TAJO-1833: Refine LogicalPlanPreprocessor to add new rules easily.
    (jihoon)

    TAJO-1809: Change default value of several configurations. (jihoon)

    TAJO-1803: Use in-memory derby as the default catalog for unit tests. 
    (jihoon)

    TAJO-1755: Add documentation for missing built-in functions. (jihoon)

    TAJO-1750: Upgrade hadoop dependency to 2.7.1. (jinho)

    TAJO-1590: Moving to JDK 7. (jinho)

    TAJO-1300: Merge the index branch into the master branch. (jihoon)

    TAJO-1713: Change the type of edge cache in JoinGraphContext from 
    HashMap to LRUMap. (jihoon)

    TAJO-1273: Merge DirectRawFile to master branch. (jinho)

    TAJO-1628: Add a documentation for join operation. (jihoon)

    TAJO-1687: sphinx-mavan-plugin version should be 1.0.3. 
    (Contributed by Jongyoung Park, Committed by jihoon)

    TAJO-1345: Implement logical plan part and DDL executor
    for alter partition. (jaehwa)

    TAJO-1450: Encapsulate Datum in Tuple. (Contributed by navis,
    Committed by jihoon)

    TAJO-1583: Remove ServerCallable in RPC client. (jinho)

    TAJO-1587: Upgrade java version to 1.7 for Travis CI. (jihoon)

    TAJO-1559: Fix data model description (tinyint, smallint).
    (Contributed by Dongjoon Hyun, Committed by jihoon)

    TAJO-1575: HBASE_HOME guidance is duplicated in tajo-env.sh.
    (Contributed by Jongyoung Park, Committed by jihoon)

    TAJO-1568: Apply UnpooledByteBufAllocator when a tajo.test.enabled
    is set to enable. (jinho)

    TAJO-1567: Update old license in some pom.xml files.
    (Contributed by Dongjoon Hyun, Committed by jinho)

    TAJO-1526: Investigate the frequent failures of Travis CI. (jihoon)

    TAJO-1462: Replace CSV examples into TEXT examples in docs. 
    (Contributed by Dongjoon Hyun, Committed by jihoon)

    TAJO-1424: Investigate the problem of too many "Try to connect" messeges 
    during Travic CI build. (Contributed by navis, Committed by jihoon)

    TAJO-1482: Cleanup the legacy cluster mode. (jinho)

    TAJO-1439: Some method name is written wrongly. 
    (Contributed by Jongyoung Park. Committed by jihoon)

    TAJO-1398: Fix 'Getting Started' link error from 0.9.0 into 0.10.0. 
    (Contributed by Dongjoon Hyun, Committed by jihoon)

    TAJO-1380: Update JDBC documentation for new JDBC driver.
    (Contributed by Dongjoon Hyun, Committed by hyunsik)

    TAJO-1335: Bump up 0.10.0-SNAPSHOT to 0.11.0-SNAPSHOT in master branch. 
    (hyunsik)

    TAJO-1314: Documentation for the support of the swift. (jihoon)


  SUB TASKS

    TAJO-1887: Disable the alter table add partition statement temporarily.
    (jaehwa)

    TAJO-1493: Make partition pruning based on catalog informations. (jaehwa)

    TAJO-1673: Implement recover partitions. (jaehwa)

    TAJO-1844: Eliminate explicit diamond expressions. 
    (Contributed by Dongkyu Hwangbo, committed by hyunsik)

    TAJO-1465: Add ORCFileAppender to write into ORCFile table. 
    (Contributed by Joyngyoung Park, committed by hyunsik)

    TAJO-1841: Eliminate explicit diamond expressions in tajo-{algebra,rpc}
    (hyunsik)

    TAJO-1826: Revert 'refining code for Parquet 1.8.1'. 
    (Contributed by Jongyoung Park, committed by hyunsik)

    TAJO-1641: Add window function documentation. (jihoon)

    TAJO-1749: Refine JDBC exceptions to better handle exceptional 
    cases. (hyunsik)

    TAJO-1737: Implement SQL Parser rule for Map type. (hyunsik)

    TAJO-1787: Remove unused and legacy exceptions. (hyunsik)

    TAJO-1758: Some TajoRuntimeException should be restored as TajoException 
    in client side. (hyunsik)

    TAJO-1754: Implement several functions to handle json array. (jihoon)

    TAJO-1748: Refine client APIs to throw specific exceptions. (hyunsik)

    TAJO-1735: Implement MetadataProvider and LinkedMetadataManager. (hyunsik)

    TAJO-1723: INSERT INTO statement should allow nested fields as 
    target columns. (hyunsik)

    TAJO-1302: Support index metadata backup and restore. (jihoon)

    TAJO-1484 Apply on ColPartitionStoreExec. (Contributed by Navis, 
    committed by hyunsik)

    TAJO-1464: Add ORCFileScanner to read ORCFile table. (Contributed by 
    Jongyoung Park, Committed by jihoon)

    TAJO-1693: Rearrange metric names. (hyunsik)

    TAJO-1496: Remove legacy CSVFile. (jinho)

    TAJO-1691: Refactor visitors and planner to throw TajoException. (hyunsik)

    TAJO-1525: Implement INTERSECT [ALL] physical operator. (Contributed 
    Keuntae Park, Committed by hyunsik) 

    TAJO-1684: CREATE EXTERNAL TABLE should allows just a path. (hyunsik)

    TAJO-1670: Refactor client errors and exceptions. (hyunsik)

    TAJO-1514: Distinguish UNION and UNION ALL. (contributed by Keuntae Park,
    committed by hyunsik)

    TAJO-1658: Filter push down to underlying storages. (hyunsik)

    TAJO-1616: Implement TablespaceManager to load Tablespaces. (hyunsik)

    TAJO-1615: Implement TaskManager. (jinho)

    TAJO-1599: Implement NodeResourceManager and Status updater. (jinho)

    TAJO-1613: Rename StorageManager to Tablespace. (hyunsik)

    TAJO-1359: Add nested field projector and language extension to project 
    nested record. (hyunsik)

    TAJO-1529: Implement json_extract_path_text(string, string) function.
    (jinho)

    TAJO-1338: Defines RESTful API for Clients. (jihun)

    TAJO-1284: Add alter partition method to CatalogStore. (jaehwa)

    TAJO-1392: Resolve findbug warnings on Tajo Plan Module. (jihun)

    TAJO-1393: Resolve findbug warnings on Tajo Cli Module.
    (Contributed by Dongjoon Hyun, Committed by hyunsik)

    TAJO-1337: Implements common modules to handle RESTful API. (jihun)

    TAJO-1329: Improve Schema class to support nested struct support.
    (hyunsik)

    TAJO-1353: Nested record support in CREATE TABLE statement. (hyunsik)


Release 0.10.0 - Released

  NEW FEATURES

    TAJO-919: Implement LAG and LEAD window functions. (Keuntae Park)

    TAJO-920: Add FIRST_VALUE and LAST_VALUE window functions. 
    (Keuntae Park via hyunsik)

    TAJO-1238: Add SET SESSION and RESET statement. (hyunsik)

    TAJO-1222: DelimitedTextFile should be tolerant against parsing errors.
    (hyunsik)

    TAJO-1131: Supports Inserting or Creating table into 
    the HBase mapped table.(Hyoungjun Kim)


    TAJO-1026: Implement Query history persistency manager.(Hyoungjun Kim)

    TAJO-233: Support PostgreSQL CatalogStore. (Jihun Kang via hyunsik)

    TAJO-235: Support Oracle CatalogStore. (Jihun Kang via hyunsik)

    TAJO-1095: Implement Json file scanner. (hyunsik)

  IMPROVEMENT

    TAJO-1160: Remove Hadoop dependency from tajo-client module. (jinho)

    TAJO-1269: Separate cli from tajo-client. (hyunsik)

    TAJO-1328: Fix deprecated property names in the catalog configuration
    document. (jihun)

    TAJO-1317: Parallel Test Executions on Tajo Core Project. (jihun)

    TAJO-1320: HBaseStorageManager need to support Zookeeper Client Port.
    (jaehwa)

    TAJO-1309: Add missing break point in physical operator. (jinho)

    TAJO-1307: HBaseStorageManager need to support for users to use
    hbase-site.xml file. (jaehwa)

    TAJO-1290: Add HBase Storage Integration Documentation. (jaehwa)

    TAJO-1293: Tajo have to accept hostname beginning with digits.
    (Jinhang Choi via jihun)

    TAJO-1281: Remove hadoop-common dependency from tajo-rpc. (hyunsik)

    TAJO-1291: Rename TajoMasterProtocol to QueryCoordinatorProtocol.
    (hyunsik)

    TAJO-1286: Remove netty dependency from tajo-jdbc. (jihun)

    TAJO-1282: Cleanup the relationship of QueryInProgress and 
    QueryJobManager. (hyunsik)

    TAJO-1258: Close() for classes derived from FileAppender should be robust.
    (Jongyoung Park via jinho)

    TAJO-1288: Refactoring org.apache.tajo.master package. (hyunsik)

    TAJO-1279: Cleanup TajoAsyncDispatcher and interrupt stop events. 
    (jinho)

    TAJO-1285: Refactoring Magic Number to HAConstants. 
    (DaeMyung Kang via jaehwa)

    TAJO-1245: Add documentation about PostgreSQL and Oracle Catalog driver. 
    (jihoon)

    TAJO-1228: TajoClient should communicate with only TajoMaster without 
    TajoWorker. (hyunsik)

    TAJO-1176: Implements queryable virtual tables for catalog information
    (jihun)

    TAJO-269: Protocol buffer De/Serialization for LogicalNode. (hyunsik)

    TAJO-1266: Too many logs when writing a parquet relation. 
    (DaeMyung Kang via jihoon)

    TAJO-1268: tajo-client module should not use UserGroupInformation. 
    (hyunsik)

    TAJO-1259: Change tsql history behavior. (Jaewoong Jung via hyunsik)

    TAJO-1261: Separate query and ddl execution codes from GlobalEngine. 
    (hyunsik)

    TAJO-1247: Store type 'TEXTFILE' should be TEXT while keeping enum 
    'TEXTFILE' in protobuf. (DaeMyung Kang via hyunsik)

    TAJO-1221: HA TajoClient should not connect TajoMaster at the first. 
    (jaehwa)

    TAJO-1241: Change default client and table time zone behavior. (hyunsik)

    TAJO-1243: *-site.xml.template should have default configs commented out.
    (hyunsik)

    TAJO-1143: TajoMaster, TajoWorker, and TajoClient should have 
    diagnosis phase at startup. (Jihun Kang via hyunsik)

    TAJO-1236: Remove slow 'new String' operation in parquet format. 
    (jinho)

    TAJO-1230: Disable ipv6 support on JVM. (Jihun Kang via hyunsik)

    TAJO-1213: Implement CatalogStore::updateTableStats. (jaehwa)

    TAJO-1122: Refactor the tajo-storage project structure.
    (Hyoungjun Kim)
    
    TAJO-1165: Needs to show error messages on query_executor.jsp. 
    (Jihun Kang via jaehwa)

    TAJO-1204: Remove unused ServerName class. (DaeMyung Kang via jaehwa)

    TAJO-1053: ADD PARTITIONS for HCatalogStore. (jaehwa)

    TAJO-1195: Remove unused CachedDNSResolver Class. (DaeMyung Kang via jaehwa)

    TAJO-1184: Upgrade netty-buffer to 4.0.24.Final. (jinho)

    TAJO-1156: Improve the comparison of timestamp and date types. 
    (Jihun Kang via jihoon)
   
    TAJO-1109: Separate SQL Statements from Catalog Stores.
    (Jihun Kang via hyunsik)

    TAJO-1161: Remove joda time dependency from tajo-core. 
    (Jihun Kang via hyunsik)

    TAJO-1133: Add 'bin/tajo version' command. (Jihun Kang via hyunsik)

    TAJO-1145: Add 'bin/tajo --help' command. (Jihun Kang via hyunsik)

    TAJO-1114: Improve ConfVars (SessionVar) to take a validator 
    interface to check its input. (Jihun Kang via hyunsik)

    TAJO-1140: Separate TajoClient into fine grained parts. (hyunsik)

    TAJO-1132: More detailed version info in tsql. (hyunsik)

    TAJO-1125: Separate logical plan and optimizer into a maven module.
    (hyunsik)

    TAJO-1123: Use Fragment instead of FileFragment.(Hyoungjun Kim)

    TAJO-1092: Improve the function system to allow other function 
    implementation types. (hyunsik)

    TAJO-1121: Remove the 'v2' storage package. (Hyoungjun Kim)

    TAJO-1128: Implement a select box for database at web interface. 
    (Jongyoung Park via hyunsik)

    TAJO-1174: remove unnessary codes for blobdatum.
    (DaeMyung Kang via hyunsik)

    TAJO-1169: Some older version of OpenJDK 1.6 does not get default 
    timezone id. (Jihun Kang via hyunsik)

    TAJO-1177: Reduce the use of Sun proprietary API. 
    (Jihun Kang via hyunsik)

    TAJO-1172: Remove Trevni storage type and its related classes.
    (DaeMyung Kang via hyunsik)

    TAJO-1163: TableDesc should use URI instead of Path. (hyunsik)

    TAJO-1188: Fix testcase testTimestampConstructor in TestTimestampDatum.
    (DaeMyung Kang via hyunsik)

    TAJO-1209: Pluggable line (de)serializer for DelimitedTextFile.
    (hyunsik)


  BUG FIXES

    TAJO-1356: Race conditions in QueryInProgress. (jinho)

    TAJO-1277: GreedyHeuristicJoinOrderAlgorithm sometimes wrongly assumes 
    associativity of joins. (Keuntae Park via jihoon)

    TAJO-1336: Fix task failure of stopped task. (jinho)

    TAJO-1316: NPE occurs when performing window functions after join.
    (jihun)

    TAJO-1325: Invalid history cleaner timeout. (jinho)

    TAJO-1283: ORDER BY with the first descending order causes wrong results.
    (Keuntae Park)

    TAJO-1324: Remove warehouse directory rewriting in Unit Test. (jinho)

    TAJO-1321: Cli prints wrong response time. (jihoon)

    TAJO-1313: Tajo-dump creates DDLs for information_schema tables.
    (jihun)

    TAJO-1322: Invalid stored caching on StorageManager. (jinho)

    TAJO-1319: Tajo can't find HBase configuration file. (jaehwa)

    TAJO-1312: Stage causes Invalid event error: SQ_SHUFFLE_REPORT 
    at KILLED. (jinho)

    TAJO-1318: Unit test failure after miniDFS cluster restart. (jinho)

    TAJO-1289: History reader fails to get the query information after 
    a successful query execution. (jinho)

    TAJO-1303: CDH cannot pass hadoop version check test.
    (Keuntae Park via jihun)

    TAJO-1308: QueryInprogress can not release when query is QUERY_ERROR.
    (jinho)

    TAJO-1305: With metadata storage of MySQL, columns with the same 
    character but difference case are not allowed. (jihun)

    TAJO-1257: ORDER BY with NULL FIRST misses some data. (Keuntae Park)

    TAJO-1225: Fix wrong schema name in JDBC driver. (jaehwa)

    TAJO-1304: Can not found TextFile in catalog. (jinho)

    TAJO-1299: TB and PB representations in StorageUnit are overflow.
    (jihun)

    TAJO-1297: Tajo Web UI does not work after TAJO-1291. (jihoon)

    TAJO-1251: Query is hanging occasionally by shuffle report. (jinho)

    TAJO-1287: Repeated using of the same order by key in multiple 
    window clauses should be supported. (Keuntae Park)

    TAJO-1265: min(), max() does not handle null properly. (Keuntae Park)

    TAJO-1270: Fix typos. (DaeMyung Kang via hyunsik)

    TAJO-1180: digitValue should throw Exception when char is not in 
    valid range. (DaeMyung Kang via hyunsik)

    TAJO-1276: Link to tsql guide 404s in tajo cli. (Jakob Homan via jihoon)

    TAJO-1275: Optimizer pushs down non-equi filter as theta join qualifier.
    (Keuntae Park)

    TAJO-1249: Tajo should check if a file format given in DDL is supported.
    (DaeMyung Kang via hyunsik)
 
    TAJO-1250: RawFileAppender occasionally causes BufferOverflowException. 
    (jinho)

    TAJO-1259: A title in catalog configuration document is different from 
    others. (Jongyoung Park via hyunsik)

    TAJO-1232: Implicit groupby queries with LIMIT lead to wrong results. 
    (jihoon)

    TAJO-1254: Fix getProgress race conditions in Query. (jinho)

    TAJO-1252: PathValidator should allow hdfs paths which contain IP addresses. 
    (jihoon)

    TAJO-1246: HBase info port conflict occasionally causes unit test 
    failures in Jenkins CI. (hyunsik)

    TAJO-1242: Json scanner can not read some case of trucated text. (jinho) 

    TAJO-1239: ORDER BY with null column desc miss some data. 
    (Hyoungjun Kim via hyunsik)

    TAJO-1244: tajo.worker.tmpdir.locations should use a validator for a list 
    of paths. (hyunsik)

    TAJO-1235: ByteBufLineReader can not read text line with CRLF.
    (jinho)

    TAJO-1237: Fix missing maven-module for pullserver. (jinho)

    TAJO-1196: Unit test hangs occasionally and randomly. (jihoon)

    TAJO-1234: Rearrange timezone in date/time types. (hyunsik)

    TAJO-1231: Implicit table properties in session are not stored in 
    table property. (hyunsik)

    TAJO-1194: 'INSERT OVERWRITE .. SELECT' does not remove existing data 
    when result is empty. (jaehwa)

    TAJO-1191: Change DateDatum timezone to UTC. (Jaewoong Jung via hyunsik)

    TAJO-1224: When there is no projected column, json scan can be hang. 
    (hyunsik) 

    TAJO-1220: Implement createStatement() and setEscapeProcessing() in 
    JdbcConnection. (YeonSu Han via hyunsik)

    TAJO-1183: Keep command execution even with errors. (Jaewoong Jung via 
    hyunsik)

    TAJO-1190: INSERT INTO to partition tables may cause NPE. (hyunsik)

    TAJO-1211: Staging directory for CTAS and INSERT should be in 
    the output dir. (hyunsik)

    TAJO-1210: ByteBufLineReader does not handle the end of file, 
    if newline is not appeared. (jinho)

    TAJO-1119: JDBC driver should support TIMESTAMP type. (jaehwa)

    TAJO-1166: S3 related storage causes compilation error in Hadoop 
    2.6.0-SNAPSHOT. (jaehwa)

    TAJO-1208: Failure of create table using textfile on hivemeta.
    (jinho)

    TAJO-1205: Remove possible memory leak in TajoMaster. (jinho)

    TAJO-1181: Avro schema URL should support various protocols. 
    (jinho)

    TAJO-1200: Invalid shuffle data of multiple worker in same server.
    (jinho)

    TAJO-1197: Unit test failed: unable to create new native thread.
    (jinho)

    TAJO-1178: Some error messages for wrong JSON queries are not so 
    much helpful. (Jaewoong Jung via jihoon)
    
    TAJO-1162: to_char() returns "-00" second. (Hyoungjun Kim)

    TAJO-1154: TajoCli doesn't pause while running the non-forwarded 
    query. (Hyoungjun Kim via hyunsik)

    TAJO-1150: Some weird methods in QueryClientImpl should be fixed. 
    (Jongyoung Park via hyunsik)

    TAJO-1139: ExternalSortExec should delete the intermediate files. 
    (jinho via hyunsik)

    TAJO-1126: Join condition including functions throws 
    IllegalArgumentException. (hyunsik)

    TAJO-1179: Integration tests in TravisCI are occasionally failed 
    due to log size. (hyunsik)


  TASKS

    TAJO-1260: Add ALTER TABLE ADD/DROP PARTITION statement to parser. (jaehwa)

    TAJO-1323: Cleanup the unstable test case. (jinho)

    TAJO-1295: Remove legacy worker.dataserver package and its unit tests.
    (hyunsik)

    TAJO-1296: Remove obsolete classes from tajo.master.container package.
    (hyunsik)

    TAJO-1294: Add index documents. (jihoon)

    TAJO-1280: Update the roles of Hyoungjun and Jihun in web site.
    (hyunsik)

    TAJO-1274: Merge separate pages of getting started document into a single 
    page. (hyunsik)

    TAJO-967: tajoCli doesn't remeber the last '\q' command.
    (Jaewoong Jung via jihoon)

    TAJO-1272: Change snapshot version from 0.9.1 to 0.10. (hyunsik)

    TAJO-1267: Remove LazyTaskScheduler. (DaeMyung Kang via jihoon)

    TAJO-1233: Merge hbase_storage branch to the master branch. 
    (Hyoungjun via hyunsik)
 
    TAJO-1229: rename tajo-yarn-pullserver to tajo-pullserver.
    (hyunsik)

    TAJO-1157: Required Java version in tutorial doc needs to be updated.
    (hyunsik)

    TAJO-1129: Remove hadoop 2.2.0 support. (jinho via hyunsik)

    TAJO-1153: Merge off-heap package in block_iteration branch to master 
    branch. (hyunsik)

    TAJO-1032: Improve TravisCI scripts to adjust log4j log level. (jinho)

    TAJO-1141: Refactor the packages hierarchy of tajo-client. (hyunsik)


  SUB TASKS

    TAJO-1262: Rename the prefix 'SubQuery' to 'Stage'. (hyunsik)

    TAJO-324: Rename the prefix 'QueryUnit' to Task. (hyunsik)

    TAJO-1151: Implement the ByteBuffer-based De/Serializer. (jinho)

    TAJO-1152: RawFile ByteBuffer should be reuse. (jinho)

    TAJO-1149: Implement direct read of DelimitedTextFile. (jinho)



Release 0.9.0

  NEW FEATURES 

    TAJO-1105: Add thread which detects JVM pauses like HADOOP's. (jinho)

    TAJO-704: TajoMaster HA (jaehwa)

    TAJO-20: INSERT INTO ... SELECT. (Hyoungjun Kim via hyunsik)

    TAJO-774: Implement logical plan part and physical executor for window 
    function. (hyunsik)

    TAJO-847: Supporting MariaDB-based Store, which is compatible with MySQL.
    (Jinhang Choi via jihoon)

    TAJO-860: Implements TRUNCATE table. (Hyoungjun Kim via hyunsik)

    TAJO-849: Add Parquet storage to HCatalogStore. (jaehwa)

    TAJO-494: Extend TajoClient to run a query with a plan context serialized 
    as the JSON form. (jihoon)

    TAJO-761: Implements INTERVAL type. (Hyoungjun Kim via hyunsik)

    TAJO-790: Implements ADD_MONTHS() function. (Hyoungjun Kim via hyunsik)

    TAJO-791: Implements ADD_DAYS() function. (Hyoungjun Kim via hyunsik)

    TAJO-762: Implements current date/time function (Hyoungjun Kim via hyunsik)

  IMPROVEMENT

    TAJO-1110: JAVA_PULLSERVER_HEAP_MAX in bin/tajo should be increased.
    (hyunsik)

    TAJO-1010: Improve multiple DISTINCT aggregation. (Hyoungjun Kim and jaehwa)

    TAJO-1093: DateTimeFormat.to_char() is slower than SimpleDateFormat.format().
    (Jihun Kang via hyunsik)

    TAJO-1030: Not supported JDBC APIs should return empty results instead of 
    Exception. (Hyoungjun Kim via hyunsik)

    TAJO-983: Worker should directly read Intermediate data stored in localhost
    rather than fetching. (Mai Hai Thanh via hyunsik)

    TAJO-910: Simple query (non-forwarded query) should be supported against 
    partition tables. (Hyoungjun Kim)

    TAJO-1035: Add default TAJO_PULLSERVER_HEAPSIZE. (Hyoungjun Kim)

    TAJO-1049: Remove the parallel degree limit up to the maximum cluster 
    capacity. (hyunsik)

    TAJO-1046: Remove hadoop native dependency of pullserver. (jinho)

    TAJO-1040: Misuse netty HashedWheelTimer. (jinho)

    TAJO-1034: Reduce Explicit Use of JVM Internal Class. 
    (Jihun Kang via hyunsik)

    TAJO-1027: Upgrade Hive to 0.13.0 and 0.13.1. (jaehwa)

    TAJO-1028: JDBC should support SET command.(Hyoungjun Kim)

    TAJO-937: Should use tajo.util.VersionInfo instead of 
    TajoConstants.TAJO_VERSION. (Mai Hai Thanh via hyunsik)

    TAJO-991: Running PullServer on a dedicated JVM process which separates 
    from worker. (Hyoungjun Kim)

    TAJO-906: Runtime code generation for evaluating expression trees.
    (hyunsik)

    TAJO-931: Output file can be punctuated depending on the file size.
    (hyunsik)

    TAJO-992: Reduce number of hash shuffle output file.(Hyoungjun Kim)

    TAJO-1008: Protocol buffer De/Serialization for EvalNode. (hyunsik)

    TAJO-984: Improve the default data type handling in RowStoreUtil.
    (jihoon via hyunsik)

    TAJO-895: ConstEval should not be included in target list of projectable 
    nodes. (hyunsik)

    TAJO-928: Session variables should override query configs in TajoConf.
    (hyunsik)

    TAJO-989: Cleanup of child blocks after parent execution block is complete
    (jinho)

    TAJO-966: Range partition should support split of multiple characters.
    (hyunsik)

    TAJO-987: Hash shuffle should be balanced according to intermediate
    volumes. (hyunsik)

    TAJO-955: Add database selection submit button in catalogview.jsp for text
    based browse. (Hyoungjun Kim via jihoon)

    TAJO-956: CONCAT should be support multiple params and null param.
    (Hyoungjun Kim via hyunsik)

    TAJO-953: RawFile should release a DirectBuffer immediately. (jinho)

    TAJO-933: Fork some classes of Parquet as builtin third-party classes.
    (hyunsik)

    TAJO-932: Upgrade Parquet to 1.5.0. (hyunsik)

    TAJO-903: Some left outer join cases are not optimized as the broadcast 
    join. (Hyoungjun Kim via hyunsik)

    TAJO-911: Refactoring Mysql/Maria Catalog Store. (DaeMyung Kang via hyunsik)

    TAJO-853: Refactoring FilterPushDown for OUTER JOIN.
    (Hyoungjun Kim via hyunsik)

    TAJO-840: Improve query result print with counting empty table. (jaehwa)

    TAJO-844: JDBC should be support getTime, getDate, and getTimestamp. 
    (Hyoungjun Kim via hyunsik)

    TAJO-843: implements COALESCE for BOOLEAN, DATE, TIME, TIMESTAMP. 
    (Hyoungjun Kim via hyunsik)

    TAJO-854: Supports INSERT INTO with UNION. (Hyoungjun Kim via jihoon) 

    TAJO-793: CLI should be able to exit when single query is failed.
    (Hyoungjun Kim via jinho)

    TAJO-846: Clean up the task history in woker. (jinho)

    TAJO-842: NULL handling in JDBC. (Hyoungjun Kim via jinho)

    TAJO-699: Create a table using LIKE. (Prafulla T via hyunsik)

    TAJO-825: Datetime type refactoring. (Hyoungjun Kim via jihoon)

    TAJO-811: add simple fifo scheduler support. (jinho)

    TAJO-801: Multiple distinct should be supported. (Hyoungjun Kim via hyunsik)

    TAJO-807: Implement Round(numeric, int) function.
    (Seungun Choe via hyunsik)

    TAJO-797: Implicit type conversion support. (hyunsik)

    TAJO-804: Bump up Parquet version to 1.4.2. (hyunsik)

    TAJO-425: RAWFILE_SYNC_INTERVAL has not default value. (jinho)

    TAJO-617: Rename BIN/tajo_dump BIN/tajo-dump. (jinho)

    TAJO-789: Improve shuffle URI. (jinho)

    TAJO-769: A minor improvements for HCatalogStore (Fengdong Yu via hyunsik)

    TAJO-734: Arrange TajoCli output message. (hyoungjunkim via jihoon)

    TAJO-758: Supports parameter values in the SQL file.
    (Hyoungjun Kim via hyunsik)

  BUG FIXES

    TAJO-1113: SubQuery in KILLED state should handle unexpected events.
    (hyunsik)

    TAJO-1111: TestKillQuery.testKillQueryFromInitState occasionally fails.
    (hyunsik)

    TAJO-1107: Broadcast join on non-leaf node scans only first data file.
    (Hyoungjun Kim)

    TAJO-1106: Missing session check in getFinishedQuery API. 
    (Yongjun Park via hyunsik)

    TAJO-1021: Remove the member variable Builder from all classes inherited 
    from ProtoObject. (hyunsik)

    TAJO-1104: Using asterisk with GROUP BY causes NPE. (hyunsik)

    TAJO-1099: LogicalPlanner::convertDataType causes NPE in some cases.
    (hyunsik)

    TAJO-1102: Self-join with a partitioned table returns wrong result data.
    (Hyoungjun Kim)

    TAJO-1097: IllegalArgumentException: RawFileScanner. (Mai Hai Thanh via 
    jinho)

    TAJO-1103: Insert clause of partitioned table loses some FetchImpls. (jinho)

    TAJO-1101: Broadcast join with a zero-length file table returns wrong 
    result data. (Hyoungjun Kim)

    TAJO-1067: INSERT OVERWRITE INTO should not remove all partitions. (jaehwa)

    TAJO-1065: The \admin -cluster argument doesn't run as expected.
    (Jongyoung Park via hyunsik)

    TAJO-1072: CLI gets stuck when wrong host/port is provided. 
    (Jihun Kang via hyunsik)

    TAJO-1081: Non-forwarded (simple) query shows wrong rows. (hyunsik)

    TAJO-981: Help command (\?) in tsql takes too long time. (YeonSu Han via 
    jaehwa)

    TAJO-962: Column reference used in LIMIT clause incurs NPE.

    TAJO-1074: Query calculates wrong progress before subquery init. (jinho)

    TAJO-1025: Network disconnection during query processing can cause 
    infinite exceptions. (Jihun Kang via jinho)

    TAJO-1047: DefaultTaskScheduler:allocateRackTask is failed occasionally
    on JDK 1.7. (jinho)

    TAJO-1056: Wrong resource release or wrong task scheduling. (jinho)

    TAJO-1050: RPC client does not retry during connecting. 
    (Jihun Kang via jinho)

    TAJO-948: 'INSERT INTO' statement to non existence table casuses 
    NPE. (Jongyoung Park via hyunsik)

    TAJO-1048: Missed use of session variables in GlobalPlanner.
    (hyunsik)

    TAJO-1037: KillQuery hang in subquery init state. (jinho)

    TAJO-1024: RpcConnectionPool::getConnection can cause NPE at 
    initialization. (hyunsik)

    TAJO-1038: Remove use of Builder variable in Schema. (hyunsik)

    TAJO-1022: tsql does not work as background process(Hyoungjun Kim)

    TAJO-1029: TAJO_PULLSERVER_STANDALONE should be false in default tajo-env.sh
    (jinho)

    TAJO-1017: TajoConf misuses read & write locks in some functions. 
    (Mai Hai Thanh via hyunsik)

    TAJO-1020: TajoContainerProxy::assignExecutionBlock causes NPE by race.
    (hyunsik)

    TAJO-986: Task scheduler gets incorrect task size. (Mai Hai Thanh via jihoon)

    TAJO-873: Query status is still RUNNING after session expired.
    (Hyoungjun Kim, jinho)

    TAJO-1004: UniformRangePartition cannot deal with unicode ranges.
    (hyunsik)

    TAJO-1013: A complex equality condition including columns of the same
    table is recognized as a join condition. (hyunsik)

    TAJO-1011: EvalTreeUtil::isJoinQual need to handle other join conditions.
    (jaehwa)

    TAJO-1009: A binary eval for column references of the same tables 
    should not be recognized as a join condition. (hyunsik)

    TAJO-985: Client API should be non-blocking. (jinho)

    TAJO-1006: Fix wrong storage unit for kilo bytes and others. (hyunsik)

    TAJO-1000: TextDatum.asChar() is incorrect, if client charset is different.
    (jinho)

    TAJO-995: HiveMetaStoreClient wrapper should retry the connection. (jinho)

    TAJO-947: ColPartitionStoreExec can cause URISyntaxException due 
    to special characters. (Mai Hai Thanh via hyunsik)

    TAJO-999: SequenceFile key class need to be compatible. (jaehwa)

    TAJO-994: 'count(distinct x)' function counts first null value. (hyunsik)

    TAJO-996: Sometimes, scheduleFetchesByEvenDistributedVolumes loses
    some FetchImpls. (hyunsik)

    TAJO-949: PullServer does not release files, when a channel throws 
    an internal exception. (jinho)
    
    TAJO-975: alias name which is the same to existing column name may cause
    NPE during PPD. (hyunsik)

    TAJO-979: Dividing float value by zero should throw "Divide by zero
    Exception" (Hyoungjun Kim via hyunsik)

    TAJO-978: RoundFloat8 should return Float8Datum type. (Hyoungjun Kim via 
    hyunsik)

    TAJO-957: ROUND should be support INT parameter. (Mai Hai Thanh via hyunsik)

    TAJO-980: execution page in Web UI broken. (hyunsik)

    TAJO-952: Wrong default partition volume config. (Mai Hai Thanh via jihoon)

    TAJO-974: Eliminate unexpected case condition in SubQuery. (Hyoungjun Kim 
    via hyunsik) 

    TAJO-977: INSERT into a partitioned table as SELECT statement uses a wrong 
    schema. (Hyoungjun Kim via hyunsik)

    TAJO-968: Self-Join query (including partitioned table) doesn't run 
    unexpectedly using auto broadcast join. (jaewha)

    TAJO-914: join queries with constant values can cause schema mismatch in
    logical plan. (hyunsik)

    TAJO-969: Distributed sort on a large data set may result in incorrect
    results. (hyunsik)

    TAJO-972: Broadcast join with left outer join returns duplicated rows.
    (Hyoungjun Kim via jaehwa)

    TAJO-666: java.nio.BufferOverflowException occurs when the query includes 
    an order by clause on a TEXT column. (Mai Hai Thanh via jihoon)

    TAJO-939: Refactoring the column resolver in LogicalPlan. (hyunsik)

    TAJO-965: Upgrade Bytes class and move some methods to others. (hyunsik)

    TAJO-961: TajoCli should exit when at least one query faces error while
    executing a SQL script. (hyunsik)

    TAJO-960: TajoCli's problem does not show the current status. (hyunsik)

    TAJO-945: Connecting to Tajo by JDBC driver failed with SQL Exception 
    "Invalid JDBC URI". (Mai Hai Thanh via jihoon)

    TAJO-904: ORDER BY Null first support. (Hyoungjun Kim via hyunsik)

    TAJO-936: TestStorages::testSplitable is failed occasionally. (jinho)

    TAJO-673: Assign proper number of tasks when inserting into partitioned table. (jaehwa)

    TAJO-916: SubQuery::computeStatFromTasks occasionally fail.
    (Hyoungjun Kim via hyunsik)

    TAJO-869: Sometimes, the unit test of testTaskRunnerHistory is failed.
    (jinho)

    TAJO-908: Fetcher does not retry, when pull server connection was closed.
    (jinho)
 
    TAJO-926: Join condition including column references of a row-preserving
    table in left outer join causes incorrect result. (hyunsik)

    TAJO-852: Integration test using HCatalog as a catalog store is failed.
    (jinho)

    TAJO-934: Multiple DISTINCT returns null grouping key value.
    (Hyoungjun Kim via hyunsik)

    TAJO-929: Broadcast join with empty outer join table returns empty result.
    (Hyoungjun Kim via hyunsik)

    TAJO-927: Broadcast Join with Large, Small, Large, Small tables
    makes a wrong plan. (Hyoungjun Kim via hyunsik)

    TAJO-913: Add some missed tests for constant value group-by keys. 
    (hyunsik)

    TAJO-909: {SortBased, Col}PartitionStoreExec should not write partition 
    keys to files. (Hyoungjun Kim via hyunsik)

    TAJO-912: Tsql prints wrong version. (Mai Hai Thanh via hyunsik)

    TAJO-925: Child ExecutionBlock of JOIN node has different number of 
    shuffle keys. (Hyoungjun Kim via hyunsik)

    TAJO-902: Unicode delimiter does not work correctly. (jinho)

    TAJO-905: When to_date() parses some date without day, the result will be 
    wrong. (hyunsik)

    TAJO-898: Left outer join with union returns empty result. 
    (Hyoungjun Kim via hyunsik)

    TAJO-897: PartitionedTableRewriter is repeated several times with same 
    table. (Hyoungjun Kim via hyunsik)

    TAJO-891: Complex join conditions with UNION or inline should be supported.
    (hyunsik)
    
    TAJO-899: Nested now() has different value for each task. (Hyoungjun Kim 
    via hyunsik)

    TAJO-894: Left outer join with partitioned large table and small table 
    returns empty result. (Hyoungjun Kim via hyunsik)

    TAJO-867: OUTER JOIN with empty result subquery produces a wrong result.
    (Hyoungjun Kim via hyunsik)

    TAJO-881: JOIN with union query occurs NPE. (Hyoungjun Kim via hyunsik)

    TAJO-884: complex join conditions should be supported in ON clause.
    (hyunsik)

    TAJO-874: Sometimes InvalidOperationException occurs when aggregates
    TableStat. (Hyoungjun Kim via hyunsik) 

    TAJO-866: COUNT DISTINCT with other aggregation function throws
    ClassCastException. (Hyoungjun Kim via hyunsik)

    TAJO-882: CLI hangs when a error occurs in the GlobalPlanner.
    (Hyoungjun Kim via hyunsik)

    TAJO-850: OUTER JOIN does not properly handle a NULL.
    (Hyoungjun Kim via hyunsik)

    TAJO-879: Some data is missing in the case of BROADCAST JOIN and
    multi-column partition. (Hyoungjun Kim via jaehwa)

    TAJO-848: PreLogicalPlanVerifier::visitInsert need to find smaller
    expressions than target columns for a partitioned table. (jaehwa)

    TAJO-880: NULL in CASE clause occurs Exception. (Hyoungjun Kim via hyunsik)

    TAJO-862: Restore failure of dumped relations. (jihoon)

    TAJO-861: tajo-dump script are not executable. (jinho)

    TAJO-839: If all tables participate in the BROADCAST JOIN, there is some 
    missing data. (Hyoungjun Kim via jihoon)

    TAJO-868: TestDateTimeFunctions unit test is occasionally failed. (hyunsik)

    TAJO-863: Column order mismatched in the JOIN query with asterisk selection. 
    (Hyoungjun Kim via hyunsik)

    TAJO-851: Timestamp type test of TestSQLExpression::testCastFromTable fails 
    in jenkins CI test. (Hyoungjun Kim via hyunsik)

    TAJO-830: Some filter conditions with a SUBQUERY are removed by optimizer.
    (Hyoungjun Kim via hyunsik)

    TAJO-819: KillQuery does not work for running query on TajoWorker. (jaehwa)

    TAJO-808: Fix pre-commit build failure. (jinho)
 
    TAJO-827: SUM() overflow in the case of INT4. (Hyoungjun Kim via hyunsik)

    TAJO-832: NPE occurs when Exception's message is null in Task. 
    (Hyoungjun Kim via hyunsik)

    TAJO-833: NPE occurs when using the column as a alias name in the multiple 
    DISTINCT. (Hyoungjun Kim via hyunsik)

    TAJO-821: IllegalStateException occurs when a NettyClientBase object is created 
    within single thread. (hyoungjunkim via jinho)

    TAJO-816: NULL delimiter doesn't apply with HCatalogStore. (jaehwa)

    TAJO-823: Missing INET4 handling in DatumFactory.cast(). (jihoon)

    TAJO-803: INSERT INTO without FROM throws ClassCastException.
    (Hyoungjun Kim via hyunsik)

    TAJO-813: CLI should support comment character with multi-line query.
    (Hyoungjun Kim via hyunsik)

    TAJO-800: CLI's meta command should be aware "TABLE_NAME" style. 
    (Hyoungjun Kim via hyunsik)

    TAJO-795: PlannerUtil::joinJoinKeyForEachTable need to handle theta-join.
    (jaehwa)

    TAJO-792: Insert table error with database name. 
    (Hyoungjun Kim via hyunsik)

    TAJO-806: CreateTableNode in CTAS uses a wrong schema as output schema and 
    table schema. (hyunsik)

    TAJO-805: Multiple constant in selection emits some columns. 
    (Hyoungjun Kim via hyunsik)

    TAJO-799: Local query without FROM throws IllegalArgumentException in 
    CLI. (Hyoungjun Kim via hyunsik)

    TAJO-802: No partition columns in WEB catalog page. 
    (Hyoungjun Kim via hyunsik)

    TAJO-766: Test failures in TestExecExternalShellCommand. (jihoon)

  TASKS

    TAJO-668: Add datetime function documentation. (Jongyoung Park via hyunsik)

    TAJO-1077: Add Derby configuration documentation. (hyunsik)

    TAJO-1068: Add SQL Query documentation. (hyunsik)

    TAJO-1078: Update contributor list. (hyunsik)

    TAJO-1070: BSTIndexScanExec should not seek a negative offset. (jinho)

    TAJO-1054: Wrong comment in ByteUtils.splitWorker(). 
    (Jongyoung Park via jinho)

    TAJO-1007: Update site for new committer and new contributors. 
    (hyunsik)

    TAJO-1001: Add missed postgresql license to NOTICE.txt and LICENSE.txt.
    (hyunsik)

    TAJO-890: Redirect stdout of maven test to /dev/null in Travis CI 
    script. (hyunsik)

    TAJO-887: Eliminate HiveQL support feature. (hyunsik)

    TAJO-886: Add IRC page to community section in site. (hyunsik)

    TAJO-859: Update site for new committer Alvin Henrick. (hyunsik)

    TAJO-817: tajo-core should not skip deploy. (hyunsik)

    TAJO-814: Set up Travis CI builds. (hyunsik)

    TAJO-820: Add missing license header to 0.8.0 release announcement. 
    (hyunsik)    

    TAJO-810: TAJO-810: Update Tajo site for 0.8.0 release. (hyunsik)

    TAJO-605: Rename Options to KeyValueList. (jinho)

    TAJO-834: Add Travis notification to issues@tajo.a.o and IRC. hyunsik)

  SUB TASKS

    TAJO-1069: TAJO-1069: Add document to explain High Availability support. (jaehwa)

    TAJO-1096: Update download source documentation (Mai Hai Thanh via jaehwa)

    TAJO-1062: Update TSQL documentation. (jaehwa)

    TAJO-1061: TAJO-1061: Update build documentation. (jaehwa)

    TAJO-1060: Apply updated hadoop versions to README and BUILDING files.
    (jinho)

    TAJO-667: Add math function documentation. (Jongyoung Park via hyunsik)

    TAJO-1016: Refactor worker rpc information. (jinho)

    TAJO-1015: Add executionblock event in worker. (jinho)

    TAJO-783: Remove yarn-related code from tajo-core. (hyunsik)

Release 0.8.0

  NEW FEATURES

    TAJO-711: Add Avro storage support. (David Chen via hyunsik)

    TAJO-746: Implements function COALESCE. (hyoungjunkim via hyunsik)

    TAJO-616: SequenceFile support. (jaehwa)

    TAJO-480: Umbrella Jira for adding ALTER TABLE statement.
    (Alvin Henrick via hyunsik)

    TAJO-378: Implement concat_ws function. (Seungun Choe via jaehwa)

    TAJO-377: Implement concat function (Seungun Choe via jaehwa)

    TAJO-30: Parquet Integration. (David Chen via hyunsik)

    TAJO-353: Add Database support to Tajo. (hyunsik)

    TAJO-574: Add a sort-based physical executor for column partition store.
    (hyunsik)

    TAJO-569: Add max(TEXT) function. (hyunsik)

    TAJO-449: Implement extract() function. (Keuntae Park)

    TAJO-482: Implements listing functions and describing a specified
    function. (hyoungjunkim via hyunsik)

    TAJO-498: Implement digest(text, text) function.
    (DaeMyung Kang via hyunsik)

    TAJO-122: Add EXPLAIN clause to show a logical plan.
    (DaeMyung Kang via hyunsik)

    TAJO-438: Date literal support. (Jae Young Lee via jihoon)

    TAJO-474: Add query admin utility. (DaeMyung Kang via hyunsik)

    TAJO-460: CTAS statement should support partitioned table.
    (Min Zhou via hyunsik)

    TAJO-381: Implement find_in_set function. (Jae Young Lee via hyunsik)

    TAJO-439: Time literal support. (DaeMyung Kang via jihoon)

    TAJO-437: Timestamp literal support. (hyunsik)

    TAJO-382: Implement encode/decode functions. (Seungun Choe via jihoon)

    TAJO-436: Implement ceiling(FLOAT8) function. (DaeMyung Kang via hyunsik)

    TAJO-338 : Add Query Optimization Part for Column-Partitioned Tables.
    (hyunsik)

    TAJO-333: Add metric system to Tajo. (hyoungjunkim via jihoon)

    TAJO-413: Implement pi function. (DaeMyung Kang via jihoon)

    TAJO-61: Implement Time Datum Type. (DaeMyung Kang via hyunsik)

    TAJO-60: Implement Date Datum Type. (hyunsik)

    TAJO-400: Implement pow(float8, float8) function. (DaeMyung Kang via jaehwa)

    TAJO-384: to_bin(). (Jae Young Lee via jaehwa)
   
    TAJO-62: Implement Timestamp Datum type. (hyunsik)

    TAJO-307: Implement chr(int) function. (DaeMyung Kang via hyunsik)

    TAJO-365: Implement degrees/radians function. (DaeMyung Kang via hyunsik)

    TAJO-368: Implement quote_ident function. (Seungun Choe via hyunsik)

    TAJO-392: Implement cbrt function. (DaeMyung Kang via hyunsik)

    TAJO-394: Implement abs function. (DaeMyung Kang via hyunsik)

    TAJO-395: Implement exp function. (DaeMyung Kang via hyunsik)

    TAJO-396: Implement sqrt function. (DaeMyung Kang via hyunsik)

    TAJO-397: Implement sign function. (DaeMyung Kang via hyunsik)

    TAJO-343: Implement locate function. (KyoungBok Lee via hyunsik)

    TAJO-364: Implement mod/div function. (DaeMyung Kang via jaehwa)

    TAJO-361: Implement rpad function. (Seungun Choe via jaehwa)

    TAJO-359: Implement lpad function. (Seungun Choe via jaehwa)

    TAJO-306: Implement ascii(string) function. (SeongHwa Ahn via jaehwa)

    TAJO-354: Fix invalid type to valid type for udfs(bit_length/char_length).
    (DaeMyung Kang via hyunsik)

    TAJO-366: Implement trigonometric functions. (Jae Young Lee via jihoon)

    TAJO-358: Implement initcap(string) function. (Seungun Choe via hyunsik)

    TAJO-355: Implement repeat(text,int) function. (DaeMyung Kang via jaehwa)

    TAJO-339: Implement sin( x ) - returns the sine of x (x is in radians). 
    (Jae Young Lee via jaehwa)

    TAJO-348: Implement octet_length(text). (DaeMyung Kang via jaehwa)

    TAJO-357: Fix invalid filename TestMethFunction to TestMathFUnction.
    (DaeMyung Kang via hyunsik)

    TAJO-352: Implement right/left(text, size) function. 
    (DaeMyung Kang via hyunsik)

    TAJO-346: Implement hex function. (DaeMyung Kang via hyunsik)

    TAJO-349: Implement md5(text). (DaeMyung Kang via hyunsik)

    TAJO-351: Implement reverse(text). (DaeMyung Kang via hyunsik)

    TAJO-342: Implement strpos(string, substring) function. 
    (hyoungjunkim via hyunsik)

    TAJO-350: Implement round, floor, ceil. (hyoungjunkim via hyunsik)

    TAJO-207: Implement bit_length(string) function. (DaeMyung Kang via jihoon)

    TAJO-341: Implement substr function. (hyoungjunkim via hyunsik)

    TAJO-308: Implement length(string) function. (hyoungjunkim via hyunsik)

    TAJO-200: RCFile compatible to apache hive. (jinho)

    TAJO-176: Implement Tajo JDBC Driver. (Keuntae Park via jihoon)

    TAJO-16: Enable Tajo catalog to access Hive metastore. (jaehwa)

    TAJO-285: Add CREATE TABLE... BY PARTITION statement to parser. (hyunsik)

    TAJO-267: Implement equals() and deepEquals() functions at LogicalNode.
    (jihoon)

  IMPROVEMENTS

    TAJO-737: Change version message when daemon starts up. (hyunsik)

    TAJO-768: Improve the log4j configuration. (hyoungjunkim via jinho)

    TAJO-755: ALTER TABLESPACE LOCATION support. (hyunsilk)
    
    TAJO-732: Support executing LINUX shell command and HDFS command.
    (hyoungjun kim via hyunsik)

    TAJO-745: APIs in TajoClient and JDBC should be case sensitive.

    TAJO-743: Change the default resource allocation policy of leaf tasks. (jinho)

    TAJO-717: Improve file splitting for large number of splits. (jinho)

    TAJO-356: Improve TajoClient to directly get query results in the first request.
    (hyunsik)

    TAJO-728: Supports expression IN statement. (hyunsik)

    TAJO-725: Broadcast JOIN should supports multiple tables. (hyoungjunkim via jaehwa)

    TAJO-735: Remove multiple SLF4J bindings message. (hyoungjunkim via hyunsik)

    TAJO-709: Add .reviewboardrc and use rbt instead of post-review.
    (David Chen via hyunsik)

    TAJO-714: Enable setting Parquet tuning parameters. (David Chen via hyunsik)

    TAJO-691: HashJoin or HashAggregation is too slow if there is many unique 
    keys. (hyoungjunkim via hyunsik)

    TAJO-685: Add prerequisite to the document of network functions and 
    operators. (jihoon)

    TAJO-644: Support quoted identifiers. (hyunsik)

    TAJO-553: Add a method to the TajoClient to get finished query lists.
    (Ilhyun Suh via jihoon)

    TAJO-670: Change daemon's hostname to canonical hostname 
    (hyoungjunkim via hyunsik)

    TAJO-638: ExecutionBlock must be sorted by start time in querydetail.jsp.
    (hyoungjunkim via hyunsik)

    TAJO-589: Add fine grained progress indicator for each task.
    (hyoungjunkim via hyunsik)

    TAJO-614: Explaining a logical node should use ExplainLogicalPlanVisitor.
    (hyunsik)

    TAJO-610: Refactor Column class. (hyunsik)

    TAJO-601: Improve distinct aggregation query processing. (hyunsik)

    TAJO-305: Implement killQuery feature. (hyunsik)

    TAJO-598: Refactoring Tajo RPC. (jinho)

    TAJO-592: HCatalogStore should supports RCFile and default hive field 
    delimiter. (jaehwa)

    TAJO-548: Investigate frequent young gc. (Min Zhou via hyunsik)

    TAJO-584: Improve distributed merge sort. (hyunsik)

    TAJO-36: Improve ExternalSortExec with N-merge sort and final pass
    omission. (hyunsik)

    TAJO-564: Show execution block's progress in querydetail.jsp.
    (hyoungjunkim via hyunsik)

    TAJO-569: Add max(TEXT) function. (hyunsik)

    TAJO-497: Rearrange reserved and non-reserved keywords. (sirpkt via hyunsik)

    TAJO-475: Table partition catalog recap. (Min Zhou and hyunsik)

    TAJO-539: Change some EvalNode::eval to directly return a Datum value.
    (hyunsik)

    TAJO-543: InsertNode and CreateTableNode should play their roles. (hyunsik)

    TAJO-409: Add explored and explained annotations to Tajo function system.
    (SeongHwa Ahn via hyunsik)

    TAJO-499: Shorten the length of classpath in shell command.
    (hyoungjunkim via hyunsik)

    TAJO-483: Add getParentCount(), getParents(), getParent() functions to DirectedGraph. 
    (jihoon)

    TAJO-433: Improve integration with Hive. (jaehwa)

    TAJO-471: Extract ColumnPartitonUtils class for ColumnPartition rewrite.
    (DaeMyung Kang via hyunsik)

    TAJO-476: Add a test development kit for unit tests based on executions
    of queries. (hyunsik)

    TAJO-464: Rename the name 'partition', actually meaning shuffle to
    'shuffle'. (hyunsik)

    TAJO-385: Refactoring TaskScheduler to assign multiple fragments. (jihoon)

    TAJO-468: Implements task's detail info page in WEB UI.
    (hyoungjunkim via hyunsik)

    TAJO-466: Supporting TIME types in DatumFactory.createFromInt8. (DaeMyung Kang via jihoon)

    TAJO-458: Visit methods of LogicalPlanVisitor should take a query block
    as parameter. (hyunsik)

    TAJO-456: Separate tajo-jdbc and tajo-client from tajo-core-backend. (hyunsik)

    TAJO-432: Add shuffle phase for column-partitioned table store. (Min Zhou via jihoon)

    TAJO-135: Bump up hadoop to 2.2.0. (jihoon)

    TAJO-435: Improve intermediate file. (jinho)

    TAJO-424: Make serializer/deserializer configurable in CSVFile. (jinho)

    TAJO-419: Add missing visitor methods of AlgebraVisitor and
    BaseAlgebraVisitor. (hyunsik)

    TAJO-421: Improve split for compression file. (jinho)

    TAJO-327: Add testcase to verify TAJO-16. (jaehwa)

    TAJO-405: Improve HCatalogStore to support partitioned table. (jaehwa)

    TAJO-336: Separate catalog stores into separate modules. (jaehwa)

    TAJO-329: Implement physical operator to store in column-partitioned table.
    (jaehwa)

    TAJO-391: Change the default type of real values from FLOAT4 to FLOAT8 
    when parsing the user queries. (DaeMyung Kang via jihoon)

    TAJO-304: drop table command should not remove data files in default.
    (hyunsik)

    TAJO-316: Improve GreedyHeuristicJoinOrderAlgorithm to deal with
    non-commutative joins. (hyunsik)

    TAJO-371: Increase the default value of worker memory. (jihoon)

    TAJO-284: Add table partitioning entry to Catalog. (jaehwa)

    TAJO-317: Improve TajoResourceManager to support more elaborate resource 
    management. (Keuntae Park via jihoon)

    TAJO-314: Make TaskScheduler be pluggable. (jihoon)

    TAJO-325: QueryState.NEW and QueryState.INIT should be combined into one
    state. (Min Zhou via hyunsik)

    TAJO-313: Support deprecated variables in CatalogConstants. (jaehwa)

    TAJO-310: Make the DataLocation class as a separate class and move it to 
    the tajo-core-storage package. (jihoon)

    TAJO-311: Improve Hive dependency. (jaehwa)

    TAJO-309: Remove unused fields in FileFragment. (jihoon)

    TAJO-297: Rename JDBC variables in CatalogConstants to be more generic. 
    (jaehwa)

    TAJO-287: Improve Fragment to be more generic. (hyunsik)

    TAJO-274: Maintaining connectivity to Tajo master regardless of the restart
    of the Tajo master. (Keuntae Park via hyunsik)

    TAJO-287: Refactor TableDesc, TableMeta, and Fragment. (hyunsik)

    TAJO-275: Separating QueryMaster and TaskRunner roles in worker.
    (Keuntae Park via jihoon)

  BUG FIXES

    TAJO-787: FilterPushDownRule::visitSubQuery does not consider aliased columns. (jaehwa)

    TAJO-786: TajoDataMetaDatabase::getSchemas creates invalid MetaDataTuple.
    (hyunsik)

    TAJO-652: logical planner cannot handle alias on partition columns.
    (Hyoungjun Kim via hyunsik)

    TAJO-675: maximum frame size of frameDecoder should be increased. (jinho)

    TAJO-748: Shuffle output numbers of join may be inconsistent. (jaehwa)

    TAJO-777: Partition column in function parameter occurs NPE.
    (Hyoungjun Kim via hyunsik)

    TAJO-763: Out of range problem in utc_usec_to(). (Ilhyun Suh via hyunsik)

    TAJO-741: GreedyHeuristicJoinOrderAlgorithm removes some join pairs. (jaehwa)

    TAJO-772: TajoDump cannot dump upper/lower mixed case database names.
    (hyunsik)

    TAJO-765: Incorrect Configuration Classpaths. (jinho)

    TAJO-563: INSERT OVERWRITE should not remove data before query success.
    (hyunsik)

    TAJO-738: NPE occur when failed in QueryMaster's GlobalPlanner.build().
    (hyoungjunkim via hyunsik)

    TAJO-739: A subquery with the same column alias caused planning error.
    (hyoungjunkim via hyunsik)

    TAJO-729: PreLogicalPlanVerifier verifies distinct aggregation functions
    incorrectly. (hyunsik)

    TAJO-719: JUnit test failures. (jinho)

    TAJO-713: Missing INET4 in UniformRangePartition. (jihoon)

    TAJO-718: A group-by clause with the same columns but aliased causes
    planning error. (hyunsik)

    TAJO-679: TimestampDatum, TimeDatum, DateDatum should be able to be
    compared with NullDatum. (Alvin Henrick via jihoon)

    TAJO-716: Using column names actually aliased in aggregation functions
    can cause planning error. (hyunsik)

    TAJO-698: Error occurs when FUNCTION and IN statement are used together.
    (hyunsik)

    TAJO-692: Missing Null handling for INET4 in RowStoreUtil. (jihoon)

    TAJO-712: Fix some bugs after database is supported. (hyunsik)

    TAJO-701: Invalid bytes when creating BlobDatum with offset. (jinho)

    TAJO-708: Test failure after a successful test. (jihoon)

    TAJO-705: CTAS always stores tables with CSV storage type into catalog.
    (jinho)

    TAJO-693: StatusUpdateTransition in QueryUnitAttempt handles TA_UPDATE 
    incorrectly. (hyunsik)

    TAJO-687: TajoMaster should pass tajoConf to create catalogServer. 
    (DaeMyung Kang via jihoon)

    TAJO-690: infinite loop occurs when rack task is assigning. (jinho)

    TAJO-689: NoSuchElementException occurs during assigning the leaf tasks. 
    (jinho)

    TAJO-651: HcatalogStore should support (de)serialization of RCFile. (jinho)

    TAJO-647: Work unbalance on disk scheduling of DefaultScheduler. (jinho)

    TAJO-612: Missing INET4 type in SQLParser. (jihoon)

    TAJO-672: Wrong progress status when overwrites to partition table.
    (hyoungjunkim via hyunsik)

    TAJO-663: CREATE TABLE USING RAW doesn't throw ERROR. (jaehwa)

    TAJO-665: sort buffer size must be dealt as long type values. 
    (hyoungjunkim via hyunsik)

    TAJO-427: Empty table makes IndexOutOfBoundsException at LEFT OUTER JOIN 
    clause. (jaehwa)

    TAJO-650: Repartitioner::scheduleHashShuffledFetches should adjust the
    number of tasks. (hyunsik)

    TAJO-648: TajoWorker does not send correct QM rpc and client rpc ports
    via heartbeat. (hyunsik)

    TAJO-653: RCFileAppender throws IOException. (jinho)

    TAJO-641: NPE in HCatalogStore.addTable(). (jaehwa)

    TAJO-646: TajoClient is blocked while main thread finished.
    (hyoungjunkim via jinho)

    TAJO-645: Task.Reporter can cause NPE during reporting. (hyunsik)

    TAJO-630: QueryMasterTask never finished when Internal error occurs.
    (hyunsik)

    TAJO-638: QueryUnitAttempt causes Invalid event error: TA_UPDATE at
    TA_ASSIGNED. (hyunsik)

    TAJO-640: In inner join clause, empty table can cause a error by order-by
    clause. (jaehwa)

    TAJO-635: Improve tests of query semantic verification. (hyunsik)

    TAJO-620: A join query can cause IndexOutOfBoundsException if one of
    tables is empty. (jaehwa)

    TAJO-628: The second stage of distinct aggregation can be scheduled to
    only one node. (hyunsik)

    TAJO-619: SELECT count(1) after joins on text keys causes wrong plans.
    (hyunsik)

    TAJO-403: HiveQLAnalyzer should supports standard function in the GROUP BY
    Clause. (jaehwa)

    TAJO-594: MySQL store doesn't work. (Yongjun Park via jaehwa)

    TAJO-590: Rename HiveConverter to HiveQLAnalyzer. (jaehwa)

    TAJO-575: Worker's env.jsp has wrong URL which go to worker's index.jsp.
    (hyoungjunkim via jaehwa)

    TAJO-609: PlannerUtil::getRelationLineage ignores PartitionedTableScanNode.
    (hyunsik)

    TAJO-606: Statemachine visualization fails. (Min Zhou via hyunsik)

    TAJO-595: The same expressions without different alias are not allowed.
    (hyunsik)

    TAJO-554: LogicalPlanner should allow additional expressions with asterisk
    in select list. (jihoon)

    TAJO-593: outer groupby and groupby in derived table causes only one
    shuffle output number. (hyunsik)

    TAJO-583: Broadcast join does not work on partitioned tables. (hyunsik)

    TAJO-588: In some case, leaf task of DefaultTaskScheduler are not
    distributed execution. (jinho)

    TAJO-586: containFunction shouldn't throw NoSuchFunctionException. (jinho)

    TAJO-582: Invalid split calculation. (jinho)

    TAJO-581: Inline view on column partitioned table causes NPE. (hyunsik)

    TAJO-577: Support S3FileSystem split. (Yongjun Park via jihoon)

    TAJO-568: Union query with the same alias names cause NPE. (hyunsik)

    TAJO-570: InvalidOperationException in outer join with constant values.
    (hyunsik)

    TAJO-506: RawFile cannot support DATE type. (jinho)

    TAJO-566: BIN/TAJO_DUMP makes wrong ddl script. (hyoungjunkim via hyunsik)

    TAJO-567: Expression projection bugs. (hyunsik)

    TAJO-565: FilterPushDown rewrite rule does not push filters on
    partitioned scans. (hyunsik)

    TAJO-560: CTAS PARTITION BY with UNION can cause invalid global plan.
    (hyunsik)

    TAJO-558: HCatalogStore can't scan columns. (jaehwa)

    TAJO-556: java.lang.NoSuchFieldError: IS_SECURITY_ENABLED. (jaehwa)

    TAJO-372: When an exception except for network issues occurs, the
    operation should not be repeated. (hyunsik)

    TAJO-552: Fix Bug verify-protocbuf.sh runs with bash.
    (DaeMyung Kang via jihoon)

    TAJO-551: Fix bug getFunction can get wrong function that have invalid 
    parameters. (DaeMyung Kang via jihoon)

    TAJO-544: Thread pool abusing. (Min Zhou via hyunsik)

    TAJO-493: maven pom.xml should enforce protobuf 2.5. (jaehwa)

    TAJO-360: If there is no matched function, catalog causes NPE.
    (hyoungjunkim via hyunsik)

    TAJO-537: After TAJO-522, still OutOfMemoryError: unable to create new
    native thread. (Min Zhou  via hyunsik)

    TAJO-522: OutOfMemoryError: unable to create new native thread.
    (hyoungjunkim via hyunsik)

    TAJO-518: tajo-algebra and ProjectionPushDownRule code cleanup. (hyunsik)

    TAJO-503: HCatalogStore can't scan several hive databases. (jaehwa)

    TAJO-502: Jenkins build is failing. (jinho)

    TAJO-485: 'CREATE TABLE AS' does not work properly with partition. (jinho)

    TAJO-488: Data fetcher doesn't close small file in shuffle. (jinho)

    TAJO-496: java.lang.NoSuchFieldError: IS_SECURITY_ENABLED when debugging
    tajo. (Min Zhou via hyunsik)

    TAJO-490: Tajo can't use 'dfs.nameservices' based on namenode ha mode. 
    (jaehwa)

    TAJO-477: Rename killQuery of QMClientProtocol to closeQuery. (hyunsik)

    TAJO-484: Fix bug [: !=: unary operator expected when execute start-tajo.sh.
    (DaeMyung Kang via jihoon)

    TAJO-479: Rename obsolete name 'partition' to 'shuffle and fix the broken
    taskdetail.jsp. (hyunsik).

    TAJO-470: Fetcher's finished time and file length is changed in WEB UI.
    (hyoungjunkim via hyunsik)

    TAJO-469: CTAS with no column definition will get  a NPE.
    (Min Zhou via hyunsik)

    TAJO-467: Too many open FD when master failed. (hyoungjunkim via hyunsik)

    TAJO-455: Throw PlanningException when Creating table with Partition
    exception COLUMN. (DaeMyung Kang via hyunsik)

    TAJO-452: Timstamp literal with fractional seconds results in 
    java.lang.ArrayIndexOutOfBoundsException. (Keuntae Park via hyunsik)

    TAJO-454: pass invalid argument to DateTime constructor in LogicalPlanner.
    (DaeMyung Kang via hyunsik)

    TAJO-451: Update documentation and version constant for Tajo 0.8.
    (hyunsik)

    TAJO-448: Timestamp should be based on unixtime. (hyunsik)
    
    TAJO-450: Incorrect inet4datum comparison. (jinho)

    TAJO-182: Comparison of primitive values including null value should
    return NULL. (hyunsik)

    TAJO-431: HCatalogStore can't write any data using INSERT OVERWRITE clause.
    (jaehwa)

    TAJO-442: Cast operator with nested functions causes NPE. (hyunsik)

    TAJO-426: HCatalogStore created partitions automatically. (jaehwa)

    TAJO-418: sort operator after inline views consisting of unions can cause 
    an incorrect distributed plan. (hyunsik)

    TAJO-417: TestSQLExpression.testCastFromTable causes unit test failure.
    (hyunsik)

    TAJO-415: Some complex queries causes NPE and unlimited recursions.
    (hyunsik)

    TAJO-414: Fix bug of bit operations in decode() method of DateDatum class.
    (Keuntae Park via jihoon)

    TAJO-407: PostgreSQL-style cast should be higher operator priority.
    (hyunsik)

    TAJO-411: Fix Bug: createFromInt8's DATE type should be TIMESTAMP.
    (DaeMyung Kang via jihoon)

    TAJO-390: Queries on history are expired earlier than a given expiry time.
    (hyoungjunkim via hyunsik)

    TAJO-410: A query with a combination of general and distinct aggregation
    functions fails. (hyunsik)

    TAJO-404: Tajo does not recognize boolean literal. (hyunsik)

    TAJO-344: Tajo cannot recognize negative numeric expressions. (hyunsik)

    TAJO-393: Unit tests must use test-data directory. (hyunsik)

    TAJO-388: limit clause does not work properly. (hyunsik)

    TAJO-389: The LazyTuple does not work when number format exception occurs 
    in text deserializer. (jinho)

    TAJO-387: Query is hanging when errors occurs in Query or SubQuery class.
    (hyunsik)

    TAJO-268: Temporal files should be removed after query is finished. (jinho)

    TAJO-292: Too many intermediate partition files. (jinho)

    TAJO-375: TajoClient can't get result data when different os user
    (hyoungjunkim via hyunsik)

    TAJO-347: Fix bug when to call function with insensitive function name.
    (DaeMyung Kang via hyunsik)

    TAJO-345: MergeScanner should support projectable storages. (jihoon)

    TAJO-290: TajoDataType.Type.NULL should be NULL_TYPE. (DaeMyung Kang via 
    jinho)

    TAJO-332: Invalid row count of CSVScanner. (jinho)

    TAJO-326: In ExecutionBlock, isRoot() and isLeafBlock() return invalid 
    values. (jihoon)

    TAJO-296: Late registration of Tajo workers. (hyoungjunkim via hyunsik)

    TAJO-321: Invalid split file of compressed text file. (jinho)

    TAJO-295: ConcurrentModificationException in TaskScheduler. (jinho)

    TAJO-293: querymasters directory not found in single node setup. (hyunsik)

  TASKS

    TAJO-517: Publish Tajo jar to a public maven repository. (hyunsik)

    TAJO-788: Update Tajo documentation and README, and BUILDING. (hyunsik)

    TAJO-752: Escalate sub modules in tajo-core into the top-level modules.
    (hyunsik)

    TAJO-753: Clean up of maven dependencies. (jinho)

    TAJO-730: Update Tajo site to reflect graduation. (hyunsik)

    TAJO-529: Fix warnings in tajo-algebra. (jaehwa)

    TAJO-700: Update site, wikis, pom.xml and other resources to point to the 
    new repository location. (jihoon)

    TAJO-694: Bump up hadoop to 2.3.0. (jinho)

    TAJO-684: Add functions about time. (Alvin Henrick via jihoon)

    TAJO-669: Add cluster setup documentation. (hyunsik)

    TAJO-681: Embed sphinx rtd theme into tajo-docs. (hyunsik)

    TAJO-657: Missing table stat in RCFile. (jinho)

    TAJO-659: Add Tajo JDBC documentation. (hyunsik)

    TAJO-642: Change tajo documentation tool to sphinx. (hyunsik)

    TAJO-632: add intellij idea projects files into git ignore.
    (Min Zhou via hyunsik)

    TAJO-218: HiveQLAnalyzer has to support cast expression. (jaehwa)

    TAJO-621: Add DOAP file for Tajo. (hyunsik)

    TAJO-622: Add TM mark and navigation links required for TLP project.
    (hyunsik)

    TAJO-578: Update configuration for tajo-site.xml. (jaehwa)

    TAJO-530: Fix warnings in tajo-catalog. (jaehwa)

    TAJO-532: Fix warnings in tajo-common. (jinho)

    TAJO-520: Move tajo-core-storage to tajo-storage. (jinho)

    TAJO-536: Fix warnings in tajo-core-storage. (jinho)

    TAJO-545: MySQLStore Documentation. (jaehwa)

    TAJO-526: HCatalogStore Documentation. (jaehwa)

    TAJO-535: Fix warnings in tajo-rpc. (jinho)

    TAJO-531: Fix warnings in tajo-client. (jinho)

    TAJO-478: Add request-patch-review.py that helps submitting patches to
    jira and reviewboard. (hyunsik)

    TAJO-508: Apply findbugs-excludeFilterFile to TajoQA. (jinho)

    TAJO-457: Update committer list and contributor list. (hyunsik)

    TAJO-166: Automatic precommit test using Jenkins. (hyunsik)

    TAJO-322: Documentation by version. (hyunsik)

    TAJO-320: Visualize Tajo statemachine. (Min Zhou via hyunsik)

    TAJO-319: Update homepage and bump tajo version to 0.8. (hyunsik)

  SUB TASKS

    TAJO-215: Catalog should allow compatible types when finding functions.
    (Alvin Henrick via hyunsik)

    TAJO-736: Add table management documentation. (hyunsik)

    TAJO-602: WorkerResourceManager should be broke down into 3 parts.
    (hyunsik)

  TEST

    TAJO-686: Integration test aborted. (jinho)

Release 0.2.0

  NEW FEATURES

    TAJO-260: Add between predicate. (hyunsik)

    TAJO-208: Implement char_length(string) function. (hyunsik)

    TAJO-99: Design the interface of join enumeration algorithm. (hyunsik)

    TAJO-179: Support MySQL CatalogStore. (jinho)

    TAJO-147: Implement trim(text), ltrim(text), and rtrim(text) function.
    (hyunsik)

    TAJO-148: Implement UPPER(text), LOWER(text) function. (hyunsik)

    TAJO-220: Implement catalog dump feature. (hyunsik)

    TAJO-216: Improve FilterPushDownRule and Implement physical operators 
    for outer join. (camelia_c via hyunsik)

    TAJO-211: Implement regexp_replace function. (hyunsik)

    TAJO-212: Implement type cast expresion. (hyunsik)

    TAJO-206: Implement String concatenation operator (||). (hyunsik)

    TAJO-213: NULL characters in meta of csv table should be supported.
    (jinho)    

    TAJO-185: Implement split_part function. (hyunsik)

    TAJO-193: Add string pattern matching operators. (hyunsik)

    TAJO-101: HiveQL converter. (jaehwa)

    TAJO-144: Implement INSERT OVERWRITE clause. (hyunsik)

    TAJO-139: TAJO-139: In predicate support. (hyunsik)

    TAJO-134: Support for compression/decompression of CSVFile. (jinho)

    TAJO-59: Implement Char Datum Type. (jihoon)
   
    TAJO-96: Design and implement rewrite rule interface and the rewrite rule 
    engine. (hyunsik)

    TAJO-19: CREATE TABLE without external data should be supported. (jinho)

    TAJO-57: Recognize Parser and Catalog Standard SQL data types. (hyunsik)

    TAJO-33: Implement a basic query progress indicator. (hyunsik)

  IMPROVEMENTS

    TAJO-270: Boolean datum compatible to apache hive. (jinho)

    TAJO-261: Rearrange default port numbers and config names. (hyunsik)

    TAJO-236: Implement LogicalPlanVerifier to check if a logical plan is 
    valid. (hyunsik)

    TAJO-254: Refactor package names and class names to have proper names.
    (add a missed changelog)

    TAJO-255: Cleanup exceptions of engine. (hyunsik)

    TAJO-253: Clean up tajo-default.xml in test resource. (hyunsik)

    TAJO-239: Improving web UI. (Keuntae Park via hyunsik)

    TAJO-232: Rename join operators and add other join operators to
    PhysicalPlanner. (hyunsik)

    TAJO-229: Implement JoinGraph to represent a graph of relation joins.
    (hyunsik)

    TAJO-223: Maximize disk read bandwidth utilization of StorageManagerV2 by
    moving Tuple creation role to next(). (Keuntae Park via hyunsik)

    TAJO-199: All relations in catalog must have data volume size. (hyunsik)

    TAJO-224: Rearrange DataType enumeration and Refactor type systems.
    (hyunsik)

    TAJO-214: System should inquire finished query history after execution 
    in web. (SeongHwa Ahn via hyunsik)

    TAJO-145: count(distinct column) should be supported. (hyunsik)

    TAJO-197: Implement Enforcer that forces physical planner to choose
    specified algorithms. (hyunsik)

    TAJO-194: LogicalNode should have an identifier to distinguish each
    logical node instance. (hyunsik)

    TAJO-183: Creating too many TableMetaProto objects might lead a potential 
    memory leak. (jihoon)

    TAJO-184: Refactor GlobalPlanner and global plan data structure. (hyunsik)

    TAJO-119: Refactor and Improve Datum. (jinho)

    TAJO-178: Implements StorageManager for scanning asynchronously. 
    (hyoungjunkim via hyunsik)

    TAJO-167: Implement GeneralSetFunctionExpr to represent all SQL standard
    set functions. (hyunsik)

    TAJO-149: Eliminate QueryConf and its file write. (hyunsik)

    TAJO-143: Implement hash semi-join operator. (hyunsik)

    TAJO-142: Implement hash anti-join operator. (hyunsik)

    TAJO-94: Remove duplicate proto files. (hyunsik)

    TAJO-141: Set on demand as the default cluster mode. (hyunsik)

    TAJO-136: Broadcast join should be enabled. (hyunsik)

    TAJO-127: Implement Tajo Resource Manager. (hyoungjunkim via hyunsik)

    TAJO-84: Task scheduling with considering disk load balance. (jinho)

    TAJO-123: Clean up the logical plan's json format. (hyunsik)

    TAJO-129: Enable the constructor of NettyServerBase to take a service
    name. (hyunsik)

    TAJO-91: Launch QueryMaster on NodeManager per query. 
    (hyoungjunkim via hyunsik)

    TAJO-100: Port the parse error handling to the new parser. (jinho)

    TAJO-121: Add LogicalPlanVisitor and Refactor LogicalOptimizer to use the
    visitor. (hyunsik)

    TAJO-118: Refactor and Improve text file Scanner. (jinho)

    TAJO-95: Eliminate the lazy copy approach from the classes wrapping
    protobuf-generated classes. (hyunsik)

    TAJO-102: Add AlgebraVisitor and Refactor LogicalPlanner to use the visitor.
    (hyunsik)

    TAJO-87: Integration of tajo algebra module and SQL parser. (hyunsik)

    TAJO-70: Refactor GlobalEngine to handle DDL statements. (hyunsik)

    TAJO-86: Improved error messages in query analyzer. (jinho)

    TAJO-85: Add an method of create(DataType, byte[]) to DatumFactory. (jihoon)

    TAJO-79: Refactor and Improve TajoCli. (hyunsik)

    TAJO-77: Rename TabletProto as FragmentProto in CatalogProtos.proto. 
    (jihoon)

    TAJO-22: The package prefix should be org.apache.tajo. (DaeMyung Kang via 
    hyunsik)

    TAJO-75: Separate SQL.g into SQLParser.g and SQLLexer.g. (hyunsik)

    TAJO-74: Refactor parser rules of SQL.g. (hyunsik)

    TAJO-7: Enabling TajoCli to take multiple lines as one statement. (jinho)

    TAJO-72: Rename NQL.g to SQL.g. (hyunsik)

    TAJO-71: Case-insensitive parser. (hyunsik)

    TAJO-40: Adopt YarnClient to GlobalEngine. (jihoon)

    TAJO-69: Add .reviewboardrc file to the ignore lists of Rat and .gitignore. 
    (hyunsik)

    TAJO-66: Support compiling and running Tajo with Java7 (Tejas Patil via 
    hsaputra)

    TAJO-51: Parallel Container Launch of TaskRunnerLauncherImpl. (hyunsik)
    
    TAJO-39 Remove the unused package tajo.engine.plan.global and all files 
    inside the directory. (hsaputra)

    TAJO-37: Remove obsolete classes WorkerEventDispatcher, WorkerEvent and 
    WorkerEventType. (sunny.1324 via hyunsik)

    TAJO-50: Cleanup SubQuery. (hyunsik)

    TAJO-44: Adopt AMRMClient to RMContainerAllocator, RMCommunicator. (hyunsik)
    
    TAJO-42: Divide SubQuery into FSM and execution block parts. (hyunsik)

    TAJO-32: Cleanup TaskRunner. (hyunsik)

    TAJO-27: Modify the document links to point the wiki's ones. (hyunsik)
    
    TAJO-17: Improve the examples for jvm version and auxiliary service in 
    getting_started.apt. (hyunsik)

    TAJO-10: Modify git ignore to include Apache derby log file. (hsaputra)

    TAJO-12: Add information in README on how to subscribe to mailing 
    lists (mattmann, hyunsik)

    TAJO-11: Update file README to reflect Apache incubation. (hyunsik)

    TAJO-4: Update the project site. (hyunsik)

    TAJO-2: remove all @author tags and update license header. (hyunsik)

  BUG FIXES

    TAJO-759: Fix findbug errors added recently. (hyunsik)

    TAJO-754: failure of INSERT INTO may remove the target table.
    (hyunsik)

    TAJO-682: RangePartitionAlgorithm should be improved to handle empty
    texts. (hyunsik)

    TAJO-511: Sometimes, a query progress becomes higher than 100%. (jihoon)

    TAJO-281: 'mvn package -Pdist' generates duplicate Tajo jar files.
    (hyunsik)

    TAJO-277: Infinite loop occurs when a table is empty. (jinho)

    TAJO-273: NotEval incurs NPE with boolean column. (hyunsik)

    TAJO-272: boolean test does not work correctly. (hyunsik)

    TAJO-264: Remove hard-coded 'standby' mode. (jinho)

    TAJO-262: Integration test hang on jenkins. (jinho)

    TAJO-257: Unit tests occasionally fail. (hyunsik)

    TAJO-169: the default TAJO_WORKER_STANDBY_MODE in tajo-env.sh is wrong. 
    (hyunsik)

    TAJO-231: In StorageManger v2, TestCSVCompression incurs unexpected end of 
    stream occasionally. (hyunsik)

    TAJO-250: QueryMaster must send the query finish heartbeat. (hyunsik)

    TAJO-245: org.apache.tajo.algebra.FunctionExpr cannot be cast to 
    org.apache.tajo.algebra.ColumnReferenceExpr. (hyunsik)

    TAJO-243: The 'tajo_dump' does not include options of table. (jinho)

    TAJO-244: assignToNonLeafTasks causes NPE occurs occasionally. (hyunsik)

    TAJO-242: Enable omitted broadcast join feature after TAJO-184. (hyunsik)

    TAJO-240: Reformat HiveConverter source code to match adopted conventions 
    (jaehwa)   

    TAJO-241: Does not reconnect the meta store. (jinho)

    TAJO-226: Can't use group by column alias. (hyunsik)

    TAJO-203: Field delimiter does not work correctly. (jinho)

    TAJO-205: Repartitioner occasionally chooses a partition number as one.
    (hyunsik)

    TAJO-191: INSERT OVERWRITE INTO statement should follow the table meta in 
    catalog. (jinho)

    TAJO-198: The split function does not work properly. (jinho)

    TAJO-187: The exception 'Some targets cannot be evaluated' is caused in 
    nested joins. (hyunsik)

    TAJO-46: The "having" clause does not work properly. (hyunsik)

    TAJO-186: Improve column resolving method. (hyunsik)

    TAJO-168: infinite loop occurs when QueryMaster is stopping. (jinho)

    TAJO-180: Better error messages for 
    StorageManager.listStatus$InvalidInputException. (hyunsik)

    TAJO-177: Call by reference bug in MergeJoinExec. (jihoon)

    TAJO-171: BitArray always returned false. (jinho)

    TAJO-172: TajoWorker allocate wrong container slots.(jinho)

    TAJO-174: SQL error handler sometimes occurred NPE. (jinho)

    TAJO-170: mvn compile error when building tar file. (jaehwa)

    TAJO-154: Query calculates wrong progress in multiple step queries.
    (hyunsik)

    TAJO-152: The tajo local directory path is mismatched in PullServer. 
    (jihoon)

    TAJO-80: Remove codes of legacy data paths. (jihoon)
 
    TAJO-159: QueryMaster cannot connect the remote CatalogServer. (hyunsik)

    TAJO-158: Can't allocate worker when single SubQuery requests more than
    cluster capacity. (hyoungjunkim via hyunsik)

    TAJO-157: The CSVScanner.isSplittable() function does not work properly.
    (jinho)

    TAJO-156: BufferUnderflowException occurs during processing the 
    intermediate file. (jinho)

    TAJO-151: Multiple union queries within a table subquery causes NPE.
    (hyunsik)

    TAJO-137: Unreleased resources and wrong allocation requests in
    TajoWorkerResourceManager. (hyoungjunkim via hyunsik)

    TAJO-130: Same queryConf file conflicts. (jinho)

    TAJO-82: NullPointerException occurs when Schema is converted as an array 
    of columns. (jihoon)

    TAJO-65: Invalid pom.xml configurations for source directories. 
    (Takuya Ueshin via hyunsik)

    TAJO-48: BufferUnderflowException occurs during the initialization of 
    RowFile. (jihoon)

    TAJO-58: Remove obsolete methods in GlobalPlanner. (hyunsik)

    TAJO-54: SubQuery::allocateContainers() may ask 0 containers. (hyunsik)

    TAJO-41: Storage handler name row in storage-default.xml must be rowfile. 
    (hsaputra)

    TAJO-47: RowFile has the duplicated initialization problem and unflipped 
    ByteBuffer problem. (jihoon)

    TAJO-38: Update class comment in TaskAttemptContext from Korean to English 
    (hsaputra)

    TAJO-15: The Integration test is getting hanged on Mac OS X. (hyunsik)

    TAJO-8: MapReduce's ShuffleHandler and Tajo's PullServerAuxService conflict
    each other. (jhkim)

    TAJO-13: Update the groupId property in the pom.xml to use ASF org instead
    of kr.ac.korea.dbserver (hsaputra)

    TAJO-1: RCFileWrapper always reads whole columns regardless of the target 
    schema. (jihoonson via hyunsik)

    TAJO-6: Rename tajo.engine.function.builtin.NewSumInt to SumInt. (rsumbaly)

    TAJO-21: CREATE EXTERNAL TABLE should support a file path. (JaeHwa Jung)

  TASKS

    TAJO-288: Correct NOTICE file and LICENSE.txt. (hyunsik)

    TAJO-271: Add MIT license to NOTICE.txt and LICENSE.txt for jquery and 
    jsPlumb. (hyunsik)

    TAJO-265: Update installation guide and other documentation for 0.2
    release. (hyunsik)

    TAJO-252: Add DISCLAIMER file. (hyunsik)

    TAJO-251: Rename the legacy name *.tql to *.sql. (hyunsik)

