Tajo Change Log 

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-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-1872: Increase the minimum split size and add a classpath to hadoop
    tools. (jihoon)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


  SUB TASKS

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

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

    TAJO-1673: Implement recover partitions. (jaehwa)

    TAJO-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)

