Tajo Change Log 

Release 0.11.1 - unreleased

  NEW FEATURES


  IMPROVEMENT

    TAJO-1979: Usage of some TajoShellCommand is omitted.
    (Contributed by Dongkyu Hwangbo, committed by 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-1271: Improve memory usage of Hash-shuffle. (jinho)

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


  BUG FIXES

    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-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-1972: Invalid sort order with NULLS FIRST|LAST. (jihoon)

    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)


  TASKS

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

    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-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-1989: Upgrade Maven Surefire Plugin to 2.19. (jinho)

    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-1906: Decrease the default size of hash map and array list for 
    testing. (jihoon)


  SUB TASKS

    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)


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-1926: Disable partition pruning using catalog temporarily. (jaehwa)
    
    TAJO-1924: Repair partition need to calculate partition volume. (jaehwa)

    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-1913: Timezone does not affect the constant folding. (hyunsik)

    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-1907: Reduce the size of the INDEXES table's COLUMN_NAMES field.
    (jihoon)

    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-1673: Implement recover partitions. (jaehwa)

    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)

