blob: 62c0504c135b51235caa5a52426953b862694c7f [file] [log] [blame]
Tajo Change Log
Release 0.11.1 - unreleased
NEW FEATURES
IMPROVEMENT
TAJO-1940: Implement HBaseTablespace::getTableVolume() method.
(hyunsik)
TAJO-1991: Tablespace::getVolume should take filter predication.
(hyunsik)
TAJO-2007: By default, Optimizer should use the table volume in TableStat.
(hyunsik)
TAJO-2061: Add description for EXPLAIN statement. (jaehwa)
TAJO-2060: Upgrade geoip-api-java library. (Byunghwa Yun via jinho)
TAJO-2048: QueryMaster and TajoWorker should support the exception
propagation. (jinho)
TAJO-2050: Adopt TAJO logo in CLI.
(Dongkyu Hwangbo via jaehwa)
TAJO-1740: Update Partition Table document. (jaehwa)
TAJO-2053: Update description for HBase configuration.
(Dongkyu Hwangbo via jaehwa)
TAJO-2057: Remove redundant class loading in plan optimizer. (jinho)
TAJO-2032: Change tajo.rest.service.port to be the general style in TAJO.
(Byunghwa Yun via jihoon)
TAJO-2040: Decrease the default size of max request for locality. (jinho)
TAJO-1950: Query master uses too much memory during range shuffle. (jihoon)
TAJO-1858: Aligning error message in execute query page of web UI is needed.
(Byunghwa Yun via jihoon)
TAJO-1979: Usage of some TajoShellCommand is omitted.
(Contributed by Dongkyu Hwangbo, committed by jaehwa)
TAJO-1998: Waiting for gracefully stopping in tajo-deamon.sh is too short.
(jinho)
TAJO-1985: Supporting Metric report via JMX. (Yongjun Park via jinho)
TAJO-1983: Improve memory usage of ExternalSortExec. (jinho)
TAJO-1271: Improve memory usage of Hash-shuffle. (jinho)
TAJO-1966: Decrease memory usage of TajoTestingCluster. (jinho)
BUG FIXES
TAJO-2066: Fix TestJoinOnPartitionedTables.testPartialFilterPushDown failure.
(jinho)
TAJO-1921: Hbase Storage can cause NPE when the hbase cluster is restarted.
(Byunghwa Yun via hyunsik)
TAJO-2038: NPE in FileScanner#getProgress. (jinho)
TAJO-2034: Files required for executing python functions are not copied in
testEval(). (jihoon)
TAJO-2037: tajo-storage-hdfs tests occasionally hangs. (jinho)
TAJO-2025: HBASE_LIB/metrics-core-*.jar should be included in CLASSPATH.
(Contributed by Dongkyu Hwangbo, committed by jinho)
TAJO-2016: Fix storage tests hangs. (jinho)
TAJO-2013: FilterPushDownRule fails due to the unsupported index. (jinho)
TAJO-2014: TestRpcClientManager fails occasionally. (jinho)
TAJO-2000: BSTIndex can cause OOM. (jinho)
TAJO-1992: \set timezone in cli doesn't work because of casesensitive (DaeMyung)
TAJO-1993: Table Timezone doesn't work when Timezone is not exactly same.(DaeMyung)
TAJO-2010: Parquet can not read null value. (jinho)
TAJO-2001: DirectRawFileScanner.getProgress occasionally fails. (jinho)
TAJO-1753: GlobalEngine causes NPE occurs occasionally. (jinho)
TAJO-1980: Printout the usage of TajoShellCommand.
(Contributed by Dongkyu Hwangbo, committed by jaehwa)
TAJO-1981: Invalid nulls sort order in VectorizedSorter. (jihoon)
TAJO-1935: Some Tasks don't work after they become TA_ASSIGNED. (jinho)
TAJO-1977: Cannot recognize the space-contained tablename and databasename.
(Contributed by Dongkyu Hwangbo, committed by jihoon)
TAJO-1978: Printout message before terminating TSQL.
(Contributed by Dongkyu Hwangbo, committed by jaehwa)
TAJO-1965: TestBlockingRpc::testServerShutdown occassionally fails. (jinho)
TAJO-1972: Invalid sort order with NULLS FIRST|LAST. (jihoon)
TAJO-1964: TestKillQuery::testKillQueryFromInitState causes NPE. (jinho)
TAJO-1578: User configuration for pull server port is ignored.
(Contributed by Dongkyu Hwangbo, committed by jihoon)
TAJO-1954: Fix memory leak in physical operator. (jinho)
TAJO-1643: SQLParse can't parse parentheses table clause. (hyunsik)
TASKS
TAJO-2065: Increase default heap size. (jinho)
TAJO-2041: Update the Team page. (jaehwa)
TAJO-2018: Remove redundant 'String.toString()'. (Dongkyu Hwangbo via jinho)
TAJO-1705: Update document for index support. (jihoon)
TAJO-2028: Refining Hive Integration document including typo.
(Jongyoung Park via jihoon)
TAJO-2019: Replace manual array copy with System.arraycopy().
(Contributed by Dongkyu Hwangbo, committed by jaehwa)
TAJO-1994: Some trivial modification is needed in compression document.
(Contributed by Jongyoung Park. Committed by jihoon)
TAJO-1973: Replace 'while' loop with 'foreach'. (Contributed by Dongkyu Hwangbo,
committed by jihoon)
TAJO-1854: Add in-subquery document. (jihoon)
TAJO-2003: Fix typo in worker configuration. (jinho)
TAJO-1962: Add description for session variables. (jihoon)
TAJO-1857: Rename the section of 'File Formats' to 'Data Formats' and fill
compression section of the 'Table Management' chapter.
(Contributed by Jongyoung Park. Committed by jihoon)
TAJO-1989: Upgrade Maven Surefire Plugin to 2.19. (jinho)
TAJO-1975: Gathering fine-grained column statistics for range shuffle. (jihoon)
TAJO-1963: Add more configuration descriptions to document. (jihoon)
TAJO-1970: Change the null first syntax. (jihoon)
TAJO-1906: Decrease the default size of hash map and array list for
testing. (jihoon)
SUB TASKS
TAJO-1856: Add a description about the relationship of tablespace, managed table,
and external table to Tablespace section of Table Management chapter.
(Contributed by Jongyoung Park. Committed by jihoon)
Release 0.11.0 - Released
NEW FEATURES
TAJO-1832: Well support for self-describing data formats. (jihoon)
TAJO-1730: JDBC Tablespace support. (hyunsik)
TAJO-1812: Timezone support in JSON file format. (hyunsik)
TAJO-1486: Text file should support to skip header rows when creating
external table. (Contributed by Jongyoung Park. Committed by jinho)
TAJO-1661: Implement CORR function. (jihoon)
TAJO-1537: Implement a virtual table for sessions.
(Contributed by Yongjin Choi, Committed by hyunsik)
TAJO-1562: Python UDAF support. (jihoon)
TAJO-1344: Python UDF support. (jihoon)
TAJO-923: Add VAR_SAMP and VAR_POP window functions.
(Contributed by Dongjoon Hyun, Committed by jihoon)
TAJO-1494: Add SeekableScanner support to DelimitedTextFileScanner.
(jinho)
TAJO-921: Add STDDEV_SAMP and STDDEV_POP window functions. (Keuntae Park)
TAJO-1135: Implement queryable virtual table for cluster information.
(jihun)
TAJO-1430: Improve SQLAnalyzer by session-based parsing-result caching.
(Contributed by Dongjoon Hyun, Committed by jihoon)
IMPROVEMENT
TAJO-1663: Change the variable name storeType to dataFormat. (hyunsik)
TAJO-1885: Simple query with projection should be supported. (hyunsik)
TAJO-1890: Clean up debug and test modes and unhandled exceptions.
(hyunsik)
TAJO-1860: Refactor Rpc clients to take Connection Parameters. (hyunsik)
TAJO-1868: Allow TablespaceManager::get to return a unregistered
tablespace. (hyunsik)
TAJO-1867: TajoMaster should handle the change of ${tajo.root}. (hyunsik)
TAJO-1134: start-tajo.sh should display WEB UI URL and TajoMaster RPC
address. (Contributed YeonSu Han, committed by hyunsik)
TAJO-1340: Change the default output file format. (jinho)
TAJO-1835: TajoClient::executeQueryAndGetResult should throw
Query(Failed|Killed)Exception. (hyunsik)
TAJO-1831: Add a shutdown hook manager in order to set priorities. (jinho)
TAJO-1817: Improve SQL parser error message. (hyunsik)
TAJO-1825: Remove zero length fragments when file length is zero. (jinho)
TAJO-1828: tajo-daemon scripts should kill process after process can not
stop gracefully. (jinho)
TAJO-1729: No handling of default case in DDLExecutor.
(Contributed by Dongkyu Hwangbo. Committed by jinho)
TAJO-1818: Separate sql parser into an independent maven module.
(hyunsik)
TAJO-1816: Refactor SQL parser tests. (hyunsik)
TAJO-1738: Improve off-heap RowBlock. (jinho)
TAJO-1810: Remove QueryMasterTask cache immediately, if it stored to
persistent storage. (jinho)
TAJO-993: Cleanup the result data in HDFS after query finished.
(jinho)
TAJO-1766: Improve the performance of cross join. (jihoon)
TAJO-1792: tajo-cluster-tests is not available when it is used as an
external maven module. (hyunsik)
TAJO-1775: TAJO-1775: HCatalogStore need to be deprecated. (jaehwa)
TAJO-1745: Add positive and negative test methods. (hyunsik)
TAJO-1757: Add examples for TajoClient v2. (hyunsik)
TAJO-1761: Separate an integration unit test kit into an independent
module. (hyunsik)
TAJO-680: Improve the IN operator to support sub queries. (jihoon)
TAJO-1751: Reduce the client connection timeout. (jinho)
TAJO-1746: Improve resource usage at first request of DefaultTaskScheduler.
(jinho)
TAJO-1743: Improve calculation of intermediate table statistics. (jinho)
TAJO-1699: Tajo Java Client version 2. (hyunsik)
TAJO-1721: Separate routine for CREATE TABLE from DDLExecutor. (hyunsik)
TAJO-1736: Remove unnecessary getMountPath().
(Contributed by YeonSu Han, Committed by jinho)
TAJO-1645: Bump up hbase to 1.1.1. (hyunsik)
TAJO-1715: Precompute the hash value of various kinds of ids. (jihoon)
TAJO-1703: Remove hardcoded value in NodeStatusUpdater. (jinho)
TAJO-1701: Remove forward or non-forward query concept in TajoClient.
(hyunsik)
TAJO-1651: Too long fetcher default retries. (jinho)
TAJO-1700: Add better exception handling in TajoMasterClientService.
(hyunsik)
TAJO-1343: Improve the memory usage of physical executors. (jihoon)
TAJO-1696: Resource calculator should consider the requested disk resource
at the first stage. (jihoon)
TAJO-1695: Shuffle fetcher executor should be consider random writing.
(jinho)
TAJO-1397: Resource allocation should be fine grained. (jinho)
TAJO-1352: Improve the join order algorithm to consider missed cases of
associative join operators. (jihoon)
TAJO-1677: Remove unnecessary messages for the Travis CI build. (jaehwa)
TAJO-1672: Removing rest api to create table
POST /databases/{database-name}/tables interface
(Contributed by DaeMyung Kang, Committed by jaehwa)
TAJO-1638: Remove offset parameter from rest api result/{cacheId}.
(Contributed by DaeMyung Kang, Committed by jaehwa)
TAJO-1659: Simplify scan iteration in SeqScan. (hyunsik)
TAJO-751: JDBC driver should support cancel() method.
(Contributed by navis, Committed by jihoon)
TAJO-1649: Change Rest API /databases/{database-name}/functions to
/functions. (Contributed by DaeMyung Kang, Committed by hyunsik)
TAJO-1646: Add extlib directory for third-party libraries. (hyunsik)
TAJO-1636: query rest api uri should change
from /databases/{database_name}/queies to /queries.
(Contributed by DaeMyung Kang, Committed by jaehwa)
TAJO-1624: Add managed table or external description in Table management
section. (hyunsik)
TAJO-1626: JdbcConnection::setAutoCommit() should not throw an exception.
(hyunsik)
TAJO-1130: Concurrent execution of independent execution blocks.
(Contributed by navis, Committed by jihoon)
TAJO-1618: [Rest API] queries/{queryId} should set default print type.
(Contributed by DaeMyung Kang, Committed by jihoon)
TAJO-1553: Improve broadcast join planning. (jihoon)
TAJO-1577: Add test cases to verify join plans. (jihoon)
TAJO-1607: Tajo Rest Cache-Id should be bigger than zero. (Contributed by
DaeMyung Kang, Committed by hyunsik)
TAJO-1603: Refactor StorageManager. (hyunsik)
TAJO-1542: Refactoring of HashJoinExecs. (Contributed by Navis,
Committed by hyunsik)
TAJO-1591: Change StoreType represented as Enum to String type. (hyunsik)
TAJO-1452: Improve function listing order (Contributed Dongjoon Hyun,
Committed by hyunsik)
TAJO-1576: Sometimes DefaultTajoCliOutputFormatter.parseErrorMessage()
eliminates an important kind of information.
(Contributed by Jongyoung Park, Committed by jihoon)
TAJO-1584: Remove QueryMaster client sharing in TajoMaster and TajoWorker.
(jinho)
TAJO-1563: Improve RPC error handling. (jinho)
TAJO-1311: Enable Scattered Hash Shuffle for CTAS statement. (jaehwa)
TAJO-1548: Refactoring condition code for CHAR into CatalogUtil.
(Contributed by DaeMyung Kang, Committed by jaehwa)
TAJO-1570: CatalogUtil newSimpleDataTypeArray should use newSimpleDataType.
(Contributed by DaeMyung Kang, Committed by jihoon)
TAJO-1442: Improve Hive Compatibility. (jaehwa)
TAJO-1530: Display warn message when the query kill button is clicked in
WEB UI. (Contributed by Dongjoon Hyun, Committed by hyoungjun)
TAJO-1509: Use dedicated thread to release resource allocated to container.
(Contributed by navis, Committed by hyoungjun)
TAJO-1454: Comparing two date or two timestamp need not normalizing
(Contributed by navis, Committed by hyoungjun)
TAJO-1385: Remove locking on RMContext. (Contributed by navis,
Committed by jihoon)
TAJO-1499: Check the bind status when EvalNode::eval() is called. (jihoon)
TAJO-1400: Add TajoStatement::setMaxRows method support.
(Contributed by YeonSu Han, Committed by jihoon)
TAJO-1421: Add 'ALTER TABLE SET PROPERTY' statement.
(Contributed by Yongjin Choi. Committed by jaehwa)
TAJO-1501: Too many log message of HashShuffleAppenderManager.
(Contributed by Jongyoung Park. Committed by jaehwa)
TAJO-1428: Support min, max builtin functions for DATE, TIME, TIMESTAMP.
(Contributed by Dongjoon Hyun, Committed by Keuntae Park)
TAJO-1436: Add Bind method to EvalNode. (Contributed by navis,
Committed by jihoon)
TAJO-1495: Clean up CatalogStore. (jaehwa)
TAJO-1460: Apply TAJO-1407 to ExternalSortExec. (Contributed by navis,
Committed by hyoungjun)
TAJO-1350: Refactor FilterPushDownRule::visitJoin() into well-defined,
small methods. (jihoon)
TAJO-1426: Support "explain global" to get physical plan. (Contributed by
navis, Committed by jihoon)
TAJO-1407: Minor performance improvement of MemSortExec. (Contributed by
navis, Committed by jihoon)
TAJO-1403: Improve 'Simple Query' with only partition columns and constant
values. (Contributed by Dongjoon Hyun, Committed by jihoon)
TAJO-1418: Comment on TAJO_PULLSERVER_STANDALONE in tajo-env.sh
is not consistent. (Contributed by navis, Committed by hyunsik)
TAJO-1381: Support multi-bytes delimiter for Text file.
(Contributed by navis, Committed by jinho)
TAJO-1391: RpcConnectionPool should check reference counter of connection
before close. (Contributed by navis, Committed by jihun)
TAJO-1383: Improve broadcast table cache. (jinho)
TAJO-1374: Support multi-bytes delimiter for CSV file.
(Contributed by navis, Committed by jinho)
TAJO-1395: Remove deprecated sql files for Oracle and PostgreSQL. (jihun)
TAJO-1394: Support reconnect on tsql.
(Contributed by navis, Committed by hyunsik)
TAJO-527: Upgrade to Netty 4. (jihun)
TAJO-1369: Some stack trace information is missed in error/fail logging.
(Contributed by navis, Committed by hyunsik)
BUG FIXES
TAJO-1933: When a simple query executed on partitioned tables, the number of
result rows is always the number of rows of the whole table. (jihoon)
TAJO-1928: Can't read parquet on hive meta. (jinho)
TAJO-1926: Disable partition pruning using catalog temporarily. (jaehwa)
TAJO-1924: Repair partition need to calculate partition volume. (jaehwa)
TAJO-1923: Selecting on information_schema.table_stats throws an internal
error. (jihoon)
TAJO-1917: Conflict on Parquet Libraries. (Contributed by Jongyoung Park.
Committed by jihoon)
TAJO-1900: When a record column and its child column are retrieved together,
the record column might not be inferred as record type properly. (jihoon)
TAJO-1875: Resource leak after a query failure. (jihoon)
TAJO-1903: Insert clause occassionally fails on S3. (jinho)
TAJO-1912: Selection from aliased schemaless tables throws an error.
(jihoon)
TAJO-1918: Writing text type in Parquet should handle text bytes.
(Contributed by Jongyoung Park. Committed by jinho)
TAJO-1913: Timezone does not affect the constant folding. (hyunsik)
TAJO-1901: Repair partition throws ArrayIndexOutOfBoundsException
occasionally. (Contributed by jaehwa, committed by hyunsik)
TAJO-1902: Add line delimiter for repair partition in TajoDump. (jaehwa)
TAJO-1889: UndefinedColumnException when a query with table subquery is
executed on self-describing tables. (jihoon)
TAJO-1894: Filter condition is ignored when a query involves multiple
subqueries and aggregations. (jihoon)
TAJO-1827: JSON parsing error at storage-site.json while tajo master
starts up. (jaehwa)
TAJO-1884: Add missing jetty-util dependency. (jinho)
TAJO-1861: TSQL should change line after printout error message during
connecting other database. (jihoon)
TAJO-1873: Fix NPE in QueryExecutorServlet. (jinho)
TAJO-1871: '-DskipTests' flag does not work. (jihoon)
TAJO-1869: Incorrect result when sorting table with small files. (jinho)
TAJO-1846: Python temp directory path should be selected differently based
on user platform. (Contributed by Dongkyu Hwangbo, Committed by jihoon)
TAJO-1848: ShutdownHook in TajoMaster can throw NPE if serviceInit().
(hyunsik)
TAJO-1851: Can not release a different rack task. (jinho)
TAJO-1830: Fix race condition in HdfsServiceTracker. (jinho)
TAJO-1727: Avoid to create external table using TableSpace. (jaehwa)
TAJO-1600: Invalid query planning for distinct group-by. (hyunsik)
TAJO-1782: Check ON_ERROR_STOP flag in TSQL when error is occured.
(Contributed by Dongkyu Hwangbo, Committed by jihoon)
TAJO-1829: Fix DelimitedTextFileAppender NPE in negative tests. (jinho)
TAJO-1674: Validation of CTAS schema mismatch. (hyunsik)
TAJO-1819: Cannot find existing tables when pgsql catalog starts up.
(jihoon)
TAJO-1821: Temporary data is not cleared after TestCatalog. (jihoon)
TAJO-1805: In the 'Execute Query' page of web UI, default database
should be set as 'default'. (Contributed by Dongkyu Hwangbo, committed
by hyunsik)
TAJO-1823: Can't start TajoMaster. (hyunsik)
TAJO-1820: Fix wrong case sensitivity rules of non-reserved keywords.
(hyunsik)
TAJO-1610: Cannot find column when the same name is used for table
and database. (hyunsik)
TAJO-1800: WHERE clause is ignored with UNION. (hyunsik)
TAJO-1815: Catalog store initialization with PostgreSQL failed.
(Contributed by Jongyoung Park, Committed by hyunsik)
TAJO-1811: Catalog server address must be set dynamically during test.
(jihoon)
TAJO-1802: PythonScriptEngine copies controller and tajo util whenever
it is initialized. (jihoon)
TAJO-1707: Rack local count can be more than actual number of tasks.
(jinho)
TAJO-1808: Wrong table type problem in catalog. (jihoon)
TAJO-1801: Table name is not unique of tableDescMap in QueryMasterTask.
(jihoon)
TAJO-1798: Dynamic partitioning occasionally fails. (jaehwa)
TAJO-1799: Fix incorrect event handler when kill-query failed. (jinho)
TAJO-1783: Query result is not returned by invalid output path. (jinho)
TAJO-1596: TestPythonFunctions occasionally fails. (jinho)
TAJO-1741: Two tables having same time zone display different timestamps.
(Contributed Jongyoung Park, committed by hyunsik)
TAJO-1790: TestTajoClientV2::testExecuteQueryAsyncWithListener
occasionally is failed. (hyunsik)
TAJO-1776: Fix Invalid column type in JDBC. (jinho)
TAJO-1781: Join condition is still not found when it exists in OR clause.
(jihoon)
TAJO-1777: JsonLineDeserializer returns invalid unicode text,
if contains control character. (jinho)
TAJO-1779: Remove "DFSInputStream has been closed already" messages
in DelimitedLineReader. (jinho)
TAJO-1763: tpch/*.tbl files cannot be founded in maven modules except for
core-tests. (hyunsik)
TAJO-1561: Query which contains join condition in "OR" clause does not
finish. (jihoon)
TAJO-1752: NameResolver cannot find nested records properly. (jihoon)
TAJO-1732: During filter push down phase, join conditions are not set
properly. (jihoon)
TAJO-1742: Remove hadoop dependency in DatumFactory. (jinho)
TAJO-1733: Finished query occasionally does not appear in Web-UI. (jinho)
TAJO-1731: With a task failure, query processing is hanged after first
retry. (jihoon)
TAJO-1608: Fix test failure in index_support branch. (jihoon)
TAJO-1594: Catalog schema is invalid for some databases. (jihoon)
TAJO-1657: Tajo Rest API /database/{database-name]/tables should return
table names only without invalid external table info.
(Contributed by DaeMyung Kang, Committed by jihoon)
TAJO-1552: NPE occurs when GreedyHeuristicJoinOrderAlgorithm.getCost()
returns infinity. (Contributed by Hyoungjun Kim, Committed by jihoon)
TAJO-1712: querytasks.jsp throws NPE occasionally when tasks are running.
(jinho)
TAJO-1716: Repartitioner.makeEvenDistributedFetchImpl() does not distribute
fetches evenly. (jihoon)
TAJO-1681: Fix TajoDump invalid null check for database name.
(Contributed by DaeMyung Kang, Committed by jihoon)
TAJO-1702: Fix race condition in finished query cache. (jinho)
TAJO-1597: Problem of ignoring theta join condition. (jihoon)
TAJO-1697: RCFile progress causes NPE occasionally. (jinho)
TAJO-1689: Metrics file reporter prints histogram metric without group name.
(hyunsik)
TAJO-1657: Tajo Rest API /database/{database-name]/tables should return
table names only without invalid external table info.
(Contributed by DaeMyung Kang, Committed by jihoon)
TAJO-1644: When inserting empty data into a partitioned table,
existing data would be removed. (jaehwa)
TAJO-1642: CatalogServer need to check meta table first. (jaehwa)
TAJO-1650: TestQueryResource.testGetAllQueries() occasionally fails.
(Contributed by jinho, Committed by jaehwa)
TAJO-1634: REST API: fix error when offset is zero.
(Contributed by DaeMyung Kang, Committed by jaehwa)
TAJO-1630: Test failure after TAJO-1130. (jihoon)
TAJO-1623: INSERT INTO with wrong target columns causes NPE. (hyunsik)
TAJO-1621: Compilation error with hadoop 2.7.0. (jinho)
TAJO-1619: JDBC program is stuck after closing. (jihoon)
TAJO-1620: random() in an SQL should generate RANDOM numbers.
(Contributed by Jongyoung Park, Committed by jihoon)
TAJO-1558: HBASE_LIB/hbase-server-*.jar should be included in the CLASSPATH.
(Contributed by Jongyoung Park, Committed by jaehwa)
TAJO-1605: Fix master build failure on jdk 1.6. (jinho)
TAJO-1485: Datum 'Char' returned only 1byte.
(Contributed by DaeMyung Kang, Committed by jihoon)
TAJO-1586: TajoMaster HA startup failure on Yarn. (jaehwa)
TAJO-1598: TableMeta should change equals mechanism.
(Contributed by DaeMyung Kang, Committed by jihoon)
TAJO-1593: Add missing stop condition to Taskrunner. (jinho)
TAJO-1556: "insert into select" with reordered column list does not work.
(Contributed by Yongjin Choi, Committed by jihoon)
TAJO-1534: DelimitedTextFile return null instead of a NullDatum. (jinho)
TAJO-1574: Fix NPE on natural join.
(Contributed by Dongjoon Hyun, Committed by jihoon)
TAJO-1581: Does not update last state of query stage in non-hash shuffle.
(jinho)
TAJO-1580: Error line number is incorrect.
(Contributed by Jongyoung Park. Committed by jaehwa)
TAJO-1419: Tsql session command doesn't work. (Contributed by DaeMyung Kang,
Committed by jihoon)
TAJO-1481: Numeric conversion of Inet4 type should be considered as unsigned.
(Contributed by navis, Committed by jihoon)
TAJO-1522: NPE making stage history before task scheduler is initialized.
(Contributed by navis, Committed by jinho)
TAJO-1560: HashShuffle report should be ignored when a succeed tasks are not
included. (jinho)
TAJO-1569: BlockingRpcClient can make other request fail. (jinho)
TAJO-1564: TestFetcher fails occasionally. (jinho)
TAJO-1497: RPC client does not share a connection. (jinho)
TAJO-1467: Parenthesis at the start of SQL query is ignored.
(Keuntae Park)
TAJO-1541: Connection timeout in netty client is not working.
(Contributed by navis, Committed by jihun)
TAJO-1500: FinishedTaskCleanThread is not interrupted when worker stops.
(Contributed by navis, Committed by jihoon)
TAJO-1469: allocateQueryMaster can leak resources if it times-out (3sec,
hardcoded) (Contributed by navis, Committed by hyoungjun)
TAJO-1538: TajoWorkerResourceManager.allocatedResourceMap is increasing
forever. (Contributed by navis. Committed by jinho)
TAJO-1510: Change a function name from getFileCunks to getFileChunks.
(Contributed by Soonwoong Lee, Committed by jaehwa)
TAJO-1360: VALUES_ field in OPTIONS table of catalog store should be longer.
(Contributed by DaeMyung Kang, Committed by jihun)
TAJO-1479: NPE during startup CatalogStore. (jaehwa)
TAJO-1437: Resolve findbug warnings on Tajo JDBC Module.
(Contributed by Dongjoon Hyun, Committed by jihoon)
TAJO-1438: Resolve findbug warnings on Tajo Client Module.
(Contributed by Dongjoon Hyun, Committed by jihoon)
TAJO-1440: Some tests fail in parallel test environment in TestKillQuery.
(Contributed by Jongyoung Park. Committed by jinho)
TAJO-1147: Simple query doesn't work in Web UI.
(Contributed by Jongyoung Park. Committed by jaehwa)
TAJO-1434: Fix supporting version of Hadoop.
(Contributed by Dongjoon Hyun, Committed by jinho)
TAJO-1449: TestSelectQuery.testExplainSelect() fails. (jihoon)
TAJO-1396: Unexpected IllegalMonitorStateException can be thrown
in QueryInProgress. (Contributed by navis. Committed by jinho)
TAJO-1414: Two RemoteException in rpc module.
(Contributed by navis. Committed by jihun)
TAJO-1368: Exceptions during processing nested union queries.
(jihun)
TAJO-1405: Fix some illegal way of usages on connection pool.
(Contributed by navis, Committed by Keuntae Park)
TAJO-1384: Duplicated output file path problem. (jihoon)
TAJO-1386: CURRENT_DATE generates parsing errors sometimes.
(Contributed by navis, Committed by hyunsik)
TAJO-1387: Correct error message for EXISTS clause.
(Contributed by Dongjoon Hyun, Committed by hyunsik)
TAJO-1378: Incorrect version(0.8.0) info in tajo-doc.
(Contributed by Dongjoon Hyun, Committed by jihoon)
TAJO-1370: TUtils.checkEquals() is not consistent with description
in javadoc. (Contributed by navis, Committed by hyunsik)
TAJO-1362: Resolve findbug warnings on Tajo Core Module. (jihun)
TAJO-1366: The timestamp type conversion occasionally leads to wrong
results. (jihoon)
TAJO-1365: Suppress release audit warnings on Jekins builds. (jihun)
TAJO-1357: Resolve findbugs warnings on Tajo Catalog Modules. (jihun)
TAJO-1351: Resolve findbug warnings on Tajo Common Module. (jihun)
TASKS
TAJO-1907: Reduce the size of the INDEXES table's COLUMN_NAMES field.
(jihoon)
TAJO-1914: Remove imports of guava library of facebook. (jihoon)
TAJO-1872: Increase the minimum split size and add a classpath to hadoop
tools. (jihoon)
TAJO-1870: Enable tests of tajo-storage-pgsql module when arch type
is 64-bit. (jinho)
TAJO-1682: Write ORC document. (Contributed by Jongyoung Park,
Committed by jihoon)
TAJO-1744: Porting bash shell scripts to Windows command shell scripts.
(Contributed by YeonSu Han, Committed by jihoon)
TAJO-1853: Add tablespace syntax to the CREATE TABLE section of DDL page.
(jihoon)
TAJO-1824: Remove partition_keys table from information_schema. (jaehwa)
TAJO-1813: Allow external catalog store for unit testing. (jihoon)
TAJO-1845: Enforcers in the master plan should be printed in a fixed
order.(jihoon)
TAJO-1739: Add a statement for adding partition to TajoDump. (jaehwa)
TAJO-1833: Refine LogicalPlanPreprocessor to add new rules easily.
(jihoon)
TAJO-1809: Change default value of several configurations. (jihoon)
TAJO-1803: Use in-memory derby as the default catalog for unit tests.
(jihoon)
TAJO-1755: Add documentation for missing built-in functions. (jihoon)
TAJO-1750: Upgrade hadoop dependency to 2.7.1. (jinho)
TAJO-1590: Moving to JDK 7. (jinho)
TAJO-1300: Merge the index branch into the master branch. (jihoon)
TAJO-1713: Change the type of edge cache in JoinGraphContext from
HashMap to LRUMap. (jihoon)
TAJO-1273: Merge DirectRawFile to master branch. (jinho)
TAJO-1628: Add a documentation for join operation. (jihoon)
TAJO-1687: sphinx-mavan-plugin version should be 1.0.3.
(Contributed by Jongyoung Park, Committed by jihoon)
TAJO-1345: Implement logical plan part and DDL executor
for alter partition. (jaehwa)
TAJO-1450: Encapsulate Datum in Tuple. (Contributed by navis,
Committed by jihoon)
TAJO-1583: Remove ServerCallable in RPC client. (jinho)
TAJO-1587: Upgrade java version to 1.7 for Travis CI. (jihoon)
TAJO-1559: Fix data model description (tinyint, smallint).
(Contributed by Dongjoon Hyun, Committed by jihoon)
TAJO-1575: HBASE_HOME guidance is duplicated in tajo-env.sh.
(Contributed by Jongyoung Park, Committed by jihoon)
TAJO-1568: Apply UnpooledByteBufAllocator when a tajo.test.enabled
is set to enable. (jinho)
TAJO-1567: Update old license in some pom.xml files.
(Contributed by Dongjoon Hyun, Committed by jinho)
TAJO-1526: Investigate the frequent failures of Travis CI. (jihoon)
TAJO-1462: Replace CSV examples into TEXT examples in docs.
(Contributed by Dongjoon Hyun, Committed by jihoon)
TAJO-1424: Investigate the problem of too many "Try to connect" messeges
during Travic CI build. (Contributed by navis, Committed by jihoon)
TAJO-1482: Cleanup the legacy cluster mode. (jinho)
TAJO-1439: Some method name is written wrongly.
(Contributed by Jongyoung Park. Committed by jihoon)
TAJO-1398: Fix 'Getting Started' link error from 0.9.0 into 0.10.0.
(Contributed by Dongjoon Hyun, Committed by jihoon)
TAJO-1380: Update JDBC documentation for new JDBC driver.
(Contributed by Dongjoon Hyun, Committed by hyunsik)
TAJO-1335: Bump up 0.10.0-SNAPSHOT to 0.11.0-SNAPSHOT in master branch.
(hyunsik)
TAJO-1314: Documentation for the support of the swift. (jihoon)
SUB TASKS
TAJO-1887: Disable the alter table add partition statement temporarily.
(jaehwa)
TAJO-1673: Implement recover partitions. (jaehwa)
TAJO-1465: Add ORCFileAppender to write into ORCFile table.
(Contributed by Joyngyoung Park, committed by hyunsik)
TAJO-1841: Eliminate explicit diamond expressions in tajo-{algebra,rpc}
(hyunsik)
TAJO-1826: Revert 'refining code for Parquet 1.8.1'.
(Contributed by Jongyoung Park, committed by hyunsik)
TAJO-1641: Add window function documentation. (jihoon)
TAJO-1749: Refine JDBC exceptions to better handle exceptional
cases. (hyunsik)
TAJO-1737: Implement SQL Parser rule for Map type. (hyunsik)
TAJO-1787: Remove unused and legacy exceptions. (hyunsik)
TAJO-1758: Some TajoRuntimeException should be restored as TajoException
in client side. (hyunsik)
TAJO-1754: Implement several functions to handle json array. (jihoon)
TAJO-1748: Refine client APIs to throw specific exceptions. (hyunsik)
TAJO-1735: Implement MetadataProvider and LinkedMetadataManager. (hyunsik)
TAJO-1723: INSERT INTO statement should allow nested fields as
target columns. (hyunsik)
TAJO-1302: Support index metadata backup and restore. (jihoon)
TAJO-1484 Apply on ColPartitionStoreExec. (Contributed by Navis,
committed by hyunsik)
TAJO-1464: Add ORCFileScanner to read ORCFile table. (Contributed by
Jongyoung Park, Committed by jihoon)
TAJO-1693: Rearrange metric names. (hyunsik)
TAJO-1496: Remove legacy CSVFile. (jinho)
TAJO-1691: Refactor visitors and planner to throw TajoException. (hyunsik)
TAJO-1525: Implement INTERSECT [ALL] physical operator. (Contributed
Keuntae Park, Committed by hyunsik)
TAJO-1684: CREATE EXTERNAL TABLE should allows just a path. (hyunsik)
TAJO-1670: Refactor client errors and exceptions. (hyunsik)
TAJO-1514: Distinguish UNION and UNION ALL. (contributed by Keuntae Park,
committed by hyunsik)
TAJO-1658: Filter push down to underlying storages. (hyunsik)
TAJO-1616: Implement TablespaceManager to load Tablespaces. (hyunsik)
TAJO-1615: Implement TaskManager. (jinho)
TAJO-1599: Implement NodeResourceManager and Status updater. (jinho)
TAJO-1613: Rename StorageManager to Tablespace. (hyunsik)
TAJO-1359: Add nested field projector and language extension to project
nested record. (hyunsik)
TAJO-1529: Implement json_extract_path_text(string, string) function.
(jinho)
TAJO-1338: Defines RESTful API for Clients. (jihun)
TAJO-1284: Add alter partition method to CatalogStore. (jaehwa)
TAJO-1392: Resolve findbug warnings on Tajo Plan Module. (jihun)
TAJO-1393: Resolve findbug warnings on Tajo Cli Module.
(Contributed by Dongjoon Hyun, Committed by hyunsik)
TAJO-1337: Implements common modules to handle RESTful API. (jihun)
TAJO-1329: Improve Schema class to support nested struct support.
(hyunsik)
TAJO-1353: Nested record support in CREATE TABLE statement. (hyunsik)
Release 0.10.0 - Released
NEW FEATURES
TAJO-919: Implement LAG and LEAD window functions. (Keuntae Park)
TAJO-920: Add FIRST_VALUE and LAST_VALUE window functions.
(Keuntae Park via hyunsik)
TAJO-1238: Add SET SESSION and RESET statement. (hyunsik)
TAJO-1222: DelimitedTextFile should be tolerant against parsing errors.
(hyunsik)
TAJO-1131: Supports Inserting or Creating table into
the HBase mapped table.(Hyoungjun Kim)
TAJO-1026: Implement Query history persistency manager.(Hyoungjun Kim)
TAJO-233: Support PostgreSQL CatalogStore. (Jihun Kang via hyunsik)
TAJO-235: Support Oracle CatalogStore. (Jihun Kang via hyunsik)
TAJO-1095: Implement Json file scanner. (hyunsik)
IMPROVEMENT
TAJO-1160: Remove Hadoop dependency from tajo-client module. (jinho)
TAJO-1269: Separate cli from tajo-client. (hyunsik)
TAJO-1328: Fix deprecated property names in the catalog configuration
document. (jihun)
TAJO-1317: Parallel Test Executions on Tajo Core Project. (jihun)
TAJO-1320: HBaseStorageManager need to support Zookeeper Client Port.
(jaehwa)
TAJO-1309: Add missing break point in physical operator. (jinho)
TAJO-1307: HBaseStorageManager need to support for users to use
hbase-site.xml file. (jaehwa)
TAJO-1290: Add HBase Storage Integration Documentation. (jaehwa)
TAJO-1293: Tajo have to accept hostname beginning with digits.
(Jinhang Choi via jihun)
TAJO-1281: Remove hadoop-common dependency from tajo-rpc. (hyunsik)
TAJO-1291: Rename TajoMasterProtocol to QueryCoordinatorProtocol.
(hyunsik)
TAJO-1286: Remove netty dependency from tajo-jdbc. (jihun)
TAJO-1282: Cleanup the relationship of QueryInProgress and
QueryJobManager. (hyunsik)
TAJO-1258: Close() for classes derived from FileAppender should be robust.
(Jongyoung Park via jinho)
TAJO-1288: Refactoring org.apache.tajo.master package. (hyunsik)
TAJO-1279: Cleanup TajoAsyncDispatcher and interrupt stop events.
(jinho)
TAJO-1285: Refactoring Magic Number to HAConstants.
(DaeMyung Kang via jaehwa)
TAJO-1245: Add documentation about PostgreSQL and Oracle Catalog driver.
(jihoon)
TAJO-1228: TajoClient should communicate with only TajoMaster without
TajoWorker. (hyunsik)
TAJO-1176: Implements queryable virtual tables for catalog information
(jihun)
TAJO-269: Protocol buffer De/Serialization for LogicalNode. (hyunsik)
TAJO-1266: Too many logs when writing a parquet relation.
(DaeMyung Kang via jihoon)
TAJO-1268: tajo-client module should not use UserGroupInformation.
(hyunsik)
TAJO-1259: Change tsql history behavior. (Jaewoong Jung via hyunsik)
TAJO-1261: Separate query and ddl execution codes from GlobalEngine.
(hyunsik)
TAJO-1247: Store type 'TEXTFILE' should be TEXT while keeping enum
'TEXTFILE' in protobuf. (DaeMyung Kang via hyunsik)
TAJO-1221: HA TajoClient should not connect TajoMaster at the first.
(jaehwa)
TAJO-1241: Change default client and table time zone behavior. (hyunsik)
TAJO-1243: *-site.xml.template should have default configs commented out.
(hyunsik)
TAJO-1143: TajoMaster, TajoWorker, and TajoClient should have
diagnosis phase at startup. (Jihun Kang via hyunsik)
TAJO-1236: Remove slow 'new String' operation in parquet format.
(jinho)
TAJO-1230: Disable ipv6 support on JVM. (Jihun Kang via hyunsik)
TAJO-1213: Implement CatalogStore::updateTableStats. (jaehwa)
TAJO-1122: Refactor the tajo-storage project structure.
(Hyoungjun Kim)
TAJO-1165: Needs to show error messages on query_executor.jsp.
(Jihun Kang via jaehwa)
TAJO-1204: Remove unused ServerName class. (DaeMyung Kang via jaehwa)
TAJO-1053: ADD PARTITIONS for HCatalogStore. (jaehwa)
TAJO-1195: Remove unused CachedDNSResolver Class. (DaeMyung Kang via jaehwa)
TAJO-1184: Upgrade netty-buffer to 4.0.24.Final. (jinho)
TAJO-1156: Improve the comparison of timestamp and date types.
(Jihun Kang via jihoon)
TAJO-1109: Separate SQL Statements from Catalog Stores.
(Jihun Kang via hyunsik)
TAJO-1161: Remove joda time dependency from tajo-core.
(Jihun Kang via hyunsik)
TAJO-1133: Add 'bin/tajo version' command. (Jihun Kang via hyunsik)
TAJO-1145: Add 'bin/tajo --help' command. (Jihun Kang via hyunsik)
TAJO-1114: Improve ConfVars (SessionVar) to take a validator
interface to check its input. (Jihun Kang via hyunsik)
TAJO-1140: Separate TajoClient into fine grained parts. (hyunsik)
TAJO-1132: More detailed version info in tsql. (hyunsik)
TAJO-1125: Separate logical plan and optimizer into a maven module.
(hyunsik)
TAJO-1123: Use Fragment instead of FileFragment.(Hyoungjun Kim)
TAJO-1092: Improve the function system to allow other function
implementation types. (hyunsik)
TAJO-1121: Remove the 'v2' storage package. (Hyoungjun Kim)
TAJO-1128: Implement a select box for database at web interface.
(Jongyoung Park via hyunsik)
TAJO-1174: remove unnessary codes for blobdatum.
(DaeMyung Kang via hyunsik)
TAJO-1169: Some older version of OpenJDK 1.6 does not get default
timezone id. (Jihun Kang via hyunsik)
TAJO-1177: Reduce the use of Sun proprietary API.
(Jihun Kang via hyunsik)
TAJO-1172: Remove Trevni storage type and its related classes.
(DaeMyung Kang via hyunsik)
TAJO-1163: TableDesc should use URI instead of Path. (hyunsik)
TAJO-1188: Fix testcase testTimestampConstructor in TestTimestampDatum.
(DaeMyung Kang via hyunsik)
TAJO-1209: Pluggable line (de)serializer for DelimitedTextFile.
(hyunsik)
BUG FIXES
TAJO-1356: Race conditions in QueryInProgress. (jinho)
TAJO-1277: GreedyHeuristicJoinOrderAlgorithm sometimes wrongly assumes
associativity of joins. (Keuntae Park via jihoon)
TAJO-1336: Fix task failure of stopped task. (jinho)
TAJO-1316: NPE occurs when performing window functions after join.
(jihun)
TAJO-1325: Invalid history cleaner timeout. (jinho)
TAJO-1283: ORDER BY with the first descending order causes wrong results.
(Keuntae Park)
TAJO-1324: Remove warehouse directory rewriting in Unit Test. (jinho)
TAJO-1321: Cli prints wrong response time. (jihoon)
TAJO-1313: Tajo-dump creates DDLs for information_schema tables.
(jihun)
TAJO-1322: Invalid stored caching on StorageManager. (jinho)
TAJO-1319: Tajo can't find HBase configuration file. (jaehwa)
TAJO-1312: Stage causes Invalid event error: SQ_SHUFFLE_REPORT
at KILLED. (jinho)
TAJO-1318: Unit test failure after miniDFS cluster restart. (jinho)
TAJO-1289: History reader fails to get the query information after
a successful query execution. (jinho)
TAJO-1303: CDH cannot pass hadoop version check test.
(Keuntae Park via jihun)
TAJO-1308: QueryInprogress can not release when query is QUERY_ERROR.
(jinho)
TAJO-1305: With metadata storage of MySQL, columns with the same
character but difference case are not allowed. (jihun)
TAJO-1257: ORDER BY with NULL FIRST misses some data. (Keuntae Park)
TAJO-1225: Fix wrong schema name in JDBC driver. (jaehwa)
TAJO-1304: Can not found TextFile in catalog. (jinho)
TAJO-1299: TB and PB representations in StorageUnit are overflow.
(jihun)
TAJO-1297: Tajo Web UI does not work after TAJO-1291. (jihoon)
TAJO-1251: Query is hanging occasionally by shuffle report. (jinho)
TAJO-1287: Repeated using of the same order by key in multiple
window clauses should be supported. (Keuntae Park)
TAJO-1265: min(), max() does not handle null properly. (Keuntae Park)
TAJO-1270: Fix typos. (DaeMyung Kang via hyunsik)
TAJO-1180: digitValue should throw Exception when char is not in
valid range. (DaeMyung Kang via hyunsik)
TAJO-1276: Link to tsql guide 404s in tajo cli. (Jakob Homan via jihoon)
TAJO-1275: Optimizer pushs down non-equi filter as theta join qualifier.
(Keuntae Park)
TAJO-1249: Tajo should check if a file format given in DDL is supported.
(DaeMyung Kang via hyunsik)
TAJO-1250: RawFileAppender occasionally causes BufferOverflowException.
(jinho)
TAJO-1259: A title in catalog configuration document is different from
others. (Jongyoung Park via hyunsik)
TAJO-1232: Implicit groupby queries with LIMIT lead to wrong results.
(jihoon)
TAJO-1254: Fix getProgress race conditions in Query. (jinho)
TAJO-1252: PathValidator should allow hdfs paths which contain IP addresses.
(jihoon)
TAJO-1246: HBase info port conflict occasionally causes unit test
failures in Jenkins CI. (hyunsik)
TAJO-1242: Json scanner can not read some case of trucated text. (jinho)
TAJO-1239: ORDER BY with null column desc miss some data.
(Hyoungjun Kim via hyunsik)
TAJO-1244: tajo.worker.tmpdir.locations should use a validator for a list
of paths. (hyunsik)
TAJO-1235: ByteBufLineReader can not read text line with CRLF.
(jinho)
TAJO-1237: Fix missing maven-module for pullserver. (jinho)
TAJO-1196: Unit test hangs occasionally and randomly. (jihoon)
TAJO-1234: Rearrange timezone in date/time types. (hyunsik)
TAJO-1231: Implicit table properties in session are not stored in
table property. (hyunsik)
TAJO-1194: 'INSERT OVERWRITE .. SELECT' does not remove existing data
when result is empty. (jaehwa)
TAJO-1191: Change DateDatum timezone to UTC. (Jaewoong Jung via hyunsik)
TAJO-1224: When there is no projected column, json scan can be hang.
(hyunsik)
TAJO-1220: Implement createStatement() and setEscapeProcessing() in
JdbcConnection. (YeonSu Han via hyunsik)
TAJO-1183: Keep command execution even with errors. (Jaewoong Jung via
hyunsik)
TAJO-1190: INSERT INTO to partition tables may cause NPE. (hyunsik)
TAJO-1211: Staging directory for CTAS and INSERT should be in
the output dir. (hyunsik)
TAJO-1210: ByteBufLineReader does not handle the end of file,
if newline is not appeared. (jinho)
TAJO-1119: JDBC driver should support TIMESTAMP type. (jaehwa)
TAJO-1166: S3 related storage causes compilation error in Hadoop
2.6.0-SNAPSHOT. (jaehwa)
TAJO-1208: Failure of create table using textfile on hivemeta.
(jinho)
TAJO-1205: Remove possible memory leak in TajoMaster. (jinho)
TAJO-1181: Avro schema URL should support various protocols.
(jinho)
TAJO-1200: Invalid shuffle data of multiple worker in same server.
(jinho)
TAJO-1197: Unit test failed: unable to create new native thread.
(jinho)
TAJO-1178: Some error messages for wrong JSON queries are not so
much helpful. (Jaewoong Jung via jihoon)
TAJO-1162: to_char() returns "-00" second. (Hyoungjun Kim)
TAJO-1154: TajoCli doesn't pause while running the non-forwarded
query. (Hyoungjun Kim via hyunsik)
TAJO-1150: Some weird methods in QueryClientImpl should be fixed.
(Jongyoung Park via hyunsik)
TAJO-1139: ExternalSortExec should delete the intermediate files.
(jinho via hyunsik)
TAJO-1126: Join condition including functions throws
IllegalArgumentException. (hyunsik)
TAJO-1179: Integration tests in TravisCI are occasionally failed
due to log size. (hyunsik)
TASKS
TAJO-1260: Add ALTER TABLE ADD/DROP PARTITION statement to parser. (jaehwa)
TAJO-1323: Cleanup the unstable test case. (jinho)
TAJO-1295: Remove legacy worker.dataserver package and its unit tests.
(hyunsik)
TAJO-1296: Remove obsolete classes from tajo.master.container package.
(hyunsik)
TAJO-1294: Add index documents. (jihoon)
TAJO-1280: Update the roles of Hyoungjun and Jihun in web site.
(hyunsik)
TAJO-1274: Merge separate pages of getting started document into a single
page. (hyunsik)
TAJO-967: tajoCli doesn't remeber the last '\q' command.
(Jaewoong Jung via jihoon)
TAJO-1272: Change snapshot version from 0.9.1 to 0.10. (hyunsik)
TAJO-1267: Remove LazyTaskScheduler. (DaeMyung Kang via jihoon)
TAJO-1233: Merge hbase_storage branch to the master branch.
(Hyoungjun via hyunsik)
TAJO-1229: rename tajo-yarn-pullserver to tajo-pullserver.
(hyunsik)
TAJO-1157: Required Java version in tutorial doc needs to be updated.
(hyunsik)
TAJO-1129: Remove hadoop 2.2.0 support. (jinho via hyunsik)
TAJO-1153: Merge off-heap package in block_iteration branch to master
branch. (hyunsik)
TAJO-1032: Improve TravisCI scripts to adjust log4j log level. (jinho)
TAJO-1141: Refactor the packages hierarchy of tajo-client. (hyunsik)
SUB TASKS
TAJO-1262: Rename the prefix 'SubQuery' to 'Stage'. (hyunsik)
TAJO-324: Rename the prefix 'QueryUnit' to Task. (hyunsik)
TAJO-1151: Implement the ByteBuffer-based De/Serializer. (jinho)
TAJO-1152: RawFile ByteBuffer should be reuse. (jinho)
TAJO-1149: Implement direct read of DelimitedTextFile. (jinho)
Release 0.9.0
NEW FEATURES
TAJO-1105: Add thread which detects JVM pauses like HADOOP's. (jinho)
TAJO-704: TajoMaster HA (jaehwa)
TAJO-20: INSERT INTO ... SELECT. (Hyoungjun Kim via hyunsik)
TAJO-774: Implement logical plan part and physical executor for window
function. (hyunsik)
TAJO-847: Supporting MariaDB-based Store, which is compatible with MySQL.
(Jinhang Choi via jihoon)
TAJO-860: Implements TRUNCATE table. (Hyoungjun Kim via hyunsik)
TAJO-849: Add Parquet storage to HCatalogStore. (jaehwa)
TAJO-494: Extend TajoClient to run a query with a plan context serialized
as the JSON form. (jihoon)
TAJO-761: Implements INTERVAL type. (Hyoungjun Kim via hyunsik)
TAJO-790: Implements ADD_MONTHS() function. (Hyoungjun Kim via hyunsik)
TAJO-791: Implements ADD_DAYS() function. (Hyoungjun Kim via hyunsik)
TAJO-762: Implements current date/time function (Hyoungjun Kim via hyunsik)
IMPROVEMENT
TAJO-1110: JAVA_PULLSERVER_HEAP_MAX in bin/tajo should be increased.
(hyunsik)
TAJO-1010: Improve multiple DISTINCT aggregation. (Hyoungjun Kim and jaehwa)
TAJO-1093: DateTimeFormat.to_char() is slower than SimpleDateFormat.format().
(Jihun Kang via hyunsik)
TAJO-1030: Not supported JDBC APIs should return empty results instead of
Exception. (Hyoungjun Kim via hyunsik)
TAJO-983: Worker should directly read Intermediate data stored in localhost
rather than fetching. (Mai Hai Thanh via hyunsik)
TAJO-910: Simple query (non-forwarded query) should be supported against
partition tables. (Hyoungjun Kim)
TAJO-1035: Add default TAJO_PULLSERVER_HEAPSIZE. (Hyoungjun Kim)
TAJO-1049: Remove the parallel degree limit up to the maximum cluster
capacity. (hyunsik)
TAJO-1046: Remove hadoop native dependency of pullserver. (jinho)
TAJO-1040: Misuse netty HashedWheelTimer. (jinho)
TAJO-1034: Reduce Explicit Use of JVM Internal Class.
(Jihun Kang via hyunsik)
TAJO-1027: Upgrade Hive to 0.13.0 and 0.13.1. (jaehwa)
TAJO-1028: JDBC should support SET command.(Hyoungjun Kim)
TAJO-937: Should use tajo.util.VersionInfo instead of
TajoConstants.TAJO_VERSION. (Mai Hai Thanh via hyunsik)
TAJO-991: Running PullServer on a dedicated JVM process which separates
from worker. (Hyoungjun Kim)
TAJO-906: Runtime code generation for evaluating expression trees.
(hyunsik)
TAJO-931: Output file can be punctuated depending on the file size.
(hyunsik)
TAJO-992: Reduce number of hash shuffle output file.(Hyoungjun Kim)
TAJO-1008: Protocol buffer De/Serialization for EvalNode. (hyunsik)
TAJO-984: Improve the default data type handling in RowStoreUtil.
(jihoon via hyunsik)
TAJO-895: ConstEval should not be included in target list of projectable
nodes. (hyunsik)
TAJO-928: Session variables should override query configs in TajoConf.
(hyunsik)
TAJO-989: Cleanup of child blocks after parent execution block is complete
(jinho)
TAJO-966: Range partition should support split of multiple characters.
(hyunsik)
TAJO-987: Hash shuffle should be balanced according to intermediate
volumes. (hyunsik)
TAJO-955: Add database selection submit button in catalogview.jsp for text
based browse. (Hyoungjun Kim via jihoon)
TAJO-956: CONCAT should be support multiple params and null param.
(Hyoungjun Kim via hyunsik)
TAJO-953: RawFile should release a DirectBuffer immediately. (jinho)
TAJO-933: Fork some classes of Parquet as builtin third-party classes.
(hyunsik)
TAJO-932: Upgrade Parquet to 1.5.0. (hyunsik)
TAJO-903: Some left outer join cases are not optimized as the broadcast
join. (Hyoungjun Kim via hyunsik)
TAJO-911: Refactoring Mysql/Maria Catalog Store. (DaeMyung Kang via hyunsik)
TAJO-853: Refactoring FilterPushDown for OUTER JOIN.
(Hyoungjun Kim via hyunsik)
TAJO-840: Improve query result print with counting empty table. (jaehwa)
TAJO-844: JDBC should be support getTime, getDate, and getTimestamp.
(Hyoungjun Kim via hyunsik)
TAJO-843: implements COALESCE for BOOLEAN, DATE, TIME, TIMESTAMP.
(Hyoungjun Kim via hyunsik)
TAJO-854: Supports INSERT INTO with UNION. (Hyoungjun Kim via jihoon)
TAJO-793: CLI should be able to exit when single query is failed.
(Hyoungjun Kim via jinho)
TAJO-846: Clean up the task history in woker. (jinho)
TAJO-842: NULL handling in JDBC. (Hyoungjun Kim via jinho)
TAJO-699: Create a table using LIKE. (Prafulla T via hyunsik)
TAJO-825: Datetime type refactoring. (Hyoungjun Kim via jihoon)
TAJO-811: add simple fifo scheduler support. (jinho)
TAJO-801: Multiple distinct should be supported. (Hyoungjun Kim via hyunsik)
TAJO-807: Implement Round(numeric, int) function.
(Seungun Choe via hyunsik)
TAJO-797: Implicit type conversion support. (hyunsik)
TAJO-804: Bump up Parquet version to 1.4.2. (hyunsik)
TAJO-425: RAWFILE_SYNC_INTERVAL has not default value. (jinho)
TAJO-617: Rename BIN/tajo_dump BIN/tajo-dump. (jinho)
TAJO-789: Improve shuffle URI. (jinho)
TAJO-769: A minor improvements for HCatalogStore (Fengdong Yu via hyunsik)
TAJO-734: Arrange TajoCli output message. (hyoungjunkim via jihoon)
TAJO-758: Supports parameter values in the SQL file.
(Hyoungjun Kim via hyunsik)
BUG FIXES
TAJO-1113: SubQuery in KILLED state should handle unexpected events.
(hyunsik)
TAJO-1111: TestKillQuery.testKillQueryFromInitState occasionally fails.
(hyunsik)
TAJO-1107: Broadcast join on non-leaf node scans only first data file.
(Hyoungjun Kim)
TAJO-1106: Missing session check in getFinishedQuery API.
(Yongjun Park via hyunsik)
TAJO-1021: Remove the member variable Builder from all classes inherited
from ProtoObject. (hyunsik)
TAJO-1104: Using asterisk with GROUP BY causes NPE. (hyunsik)
TAJO-1099: LogicalPlanner::convertDataType causes NPE in some cases.
(hyunsik)
TAJO-1102: Self-join with a partitioned table returns wrong result data.
(Hyoungjun Kim)
TAJO-1097: IllegalArgumentException: RawFileScanner. (Mai Hai Thanh via
jinho)
TAJO-1103: Insert clause of partitioned table loses some FetchImpls. (jinho)
TAJO-1101: Broadcast join with a zero-length file table returns wrong
result data. (Hyoungjun Kim)
TAJO-1067: INSERT OVERWRITE INTO should not remove all partitions. (jaehwa)
TAJO-1065: The \admin -cluster argument doesn't run as expected.
(Jongyoung Park via hyunsik)
TAJO-1072: CLI gets stuck when wrong host/port is provided.
(Jihun Kang via hyunsik)
TAJO-1081: Non-forwarded (simple) query shows wrong rows. (hyunsik)
TAJO-981: Help command (\?) in tsql takes too long time. (YeonSu Han via
jaehwa)
TAJO-962: Column reference used in LIMIT clause incurs NPE.
TAJO-1074: Query calculates wrong progress before subquery init. (jinho)
TAJO-1025: Network disconnection during query processing can cause
infinite exceptions. (Jihun Kang via jinho)
TAJO-1047: DefaultTaskScheduler:allocateRackTask is failed occasionally
on JDK 1.7. (jinho)
TAJO-1056: Wrong resource release or wrong task scheduling. (jinho)
TAJO-1050: RPC client does not retry during connecting.
(Jihun Kang via jinho)
TAJO-948: 'INSERT INTO' statement to non existence table casuses
NPE. (Jongyoung Park via hyunsik)
TAJO-1048: Missed use of session variables in GlobalPlanner.
(hyunsik)
TAJO-1037: KillQuery hang in subquery init state. (jinho)
TAJO-1024: RpcConnectionPool::getConnection can cause NPE at
initialization. (hyunsik)
TAJO-1038: Remove use of Builder variable in Schema. (hyunsik)
TAJO-1022: tsql does not work as background process(Hyoungjun Kim)
TAJO-1029: TAJO_PULLSERVER_STANDALONE should be false in default tajo-env.sh
(jinho)
TAJO-1017: TajoConf misuses read & write locks in some functions.
(Mai Hai Thanh via hyunsik)
TAJO-1020: TajoContainerProxy::assignExecutionBlock causes NPE by race.
(hyunsik)
TAJO-986: Task scheduler gets incorrect task size. (Mai Hai Thanh via jihoon)
TAJO-873: Query status is still RUNNING after session expired.
(Hyoungjun Kim, jinho)
TAJO-1004: UniformRangePartition cannot deal with unicode ranges.
(hyunsik)
TAJO-1013: A complex equality condition including columns of the same
table is recognized as a join condition. (hyunsik)
TAJO-1011: EvalTreeUtil::isJoinQual need to handle other join conditions.
(jaehwa)
TAJO-1009: A binary eval for column references of the same tables
should not be recognized as a join condition. (hyunsik)
TAJO-985: Client API should be non-blocking. (jinho)
TAJO-1006: Fix wrong storage unit for kilo bytes and others. (hyunsik)
TAJO-1000: TextDatum.asChar() is incorrect, if client charset is different.
(jinho)
TAJO-995: HiveMetaStoreClient wrapper should retry the connection. (jinho)
TAJO-947: ColPartitionStoreExec can cause URISyntaxException due
to special characters. (Mai Hai Thanh via hyunsik)
TAJO-999: SequenceFile key class need to be compatible. (jaehwa)
TAJO-994: 'count(distinct x)' function counts first null value. (hyunsik)
TAJO-996: Sometimes, scheduleFetchesByEvenDistributedVolumes loses
some FetchImpls. (hyunsik)
TAJO-949: PullServer does not release files, when a channel throws
an internal exception. (jinho)
TAJO-975: alias name which is the same to existing column name may cause
NPE during PPD. (hyunsik)
TAJO-979: Dividing float value by zero should throw "Divide by zero
Exception" (Hyoungjun Kim via hyunsik)
TAJO-978: RoundFloat8 should return Float8Datum type. (Hyoungjun Kim via
hyunsik)
TAJO-957: ROUND should be support INT parameter. (Mai Hai Thanh via hyunsik)
TAJO-980: execution page in Web UI broken. (hyunsik)
TAJO-952: Wrong default partition volume config. (Mai Hai Thanh via jihoon)
TAJO-974: Eliminate unexpected case condition in SubQuery. (Hyoungjun Kim
via hyunsik)
TAJO-977: INSERT into a partitioned table as SELECT statement uses a wrong
schema. (Hyoungjun Kim via hyunsik)
TAJO-968: Self-Join query (including partitioned table) doesn't run
unexpectedly using auto broadcast join. (jaewha)
TAJO-914: join queries with constant values can cause schema mismatch in
logical plan. (hyunsik)
TAJO-969: Distributed sort on a large data set may result in incorrect
results. (hyunsik)
TAJO-972: Broadcast join with left outer join returns duplicated rows.
(Hyoungjun Kim via jaehwa)
TAJO-666: java.nio.BufferOverflowException occurs when the query includes
an order by clause on a TEXT column. (Mai Hai Thanh via jihoon)
TAJO-939: Refactoring the column resolver in LogicalPlan. (hyunsik)
TAJO-965: Upgrade Bytes class and move some methods to others. (hyunsik)
TAJO-961: TajoCli should exit when at least one query faces error while
executing a SQL script. (hyunsik)
TAJO-960: TajoCli's problem does not show the current status. (hyunsik)
TAJO-945: Connecting to Tajo by JDBC driver failed with SQL Exception
"Invalid JDBC URI". (Mai Hai Thanh via jihoon)
TAJO-904: ORDER BY Null first support. (Hyoungjun Kim via hyunsik)
TAJO-936: TestStorages::testSplitable is failed occasionally. (jinho)
TAJO-673: Assign proper number of tasks when inserting into partitioned table. (jaehwa)
TAJO-916: SubQuery::computeStatFromTasks occasionally fail.
(Hyoungjun Kim via hyunsik)
TAJO-869: Sometimes, the unit test of testTaskRunnerHistory is failed.
(jinho)
TAJO-908: Fetcher does not retry, when pull server connection was closed.
(jinho)
TAJO-926: Join condition including column references of a row-preserving
table in left outer join causes incorrect result. (hyunsik)
TAJO-852: Integration test using HCatalog as a catalog store is failed.
(jinho)
TAJO-934: Multiple DISTINCT returns null grouping key value.
(Hyoungjun Kim via hyunsik)
TAJO-929: Broadcast join with empty outer join table returns empty result.
(Hyoungjun Kim via hyunsik)
TAJO-927: Broadcast Join with Large, Small, Large, Small tables
makes a wrong plan. (Hyoungjun Kim via hyunsik)
TAJO-913: Add some missed tests for constant value group-by keys.
(hyunsik)
TAJO-909: {SortBased, Col}PartitionStoreExec should not write partition
keys to files. (Hyoungjun Kim via hyunsik)
TAJO-912: Tsql prints wrong version. (Mai Hai Thanh via hyunsik)
TAJO-925: Child ExecutionBlock of JOIN node has different number of
shuffle keys. (Hyoungjun Kim via hyunsik)
TAJO-902: Unicode delimiter does not work correctly. (jinho)
TAJO-905: When to_date() parses some date without day, the result will be
wrong. (hyunsik)
TAJO-898: Left outer join with union returns empty result.
(Hyoungjun Kim via hyunsik)
TAJO-897: PartitionedTableRewriter is repeated several times with same
table. (Hyoungjun Kim via hyunsik)
TAJO-891: Complex join conditions with UNION or inline should be supported.
(hyunsik)
TAJO-899: Nested now() has different value for each task. (Hyoungjun Kim
via hyunsik)
TAJO-894: Left outer join with partitioned large table and small table
returns empty result. (Hyoungjun Kim via hyunsik)
TAJO-867: OUTER JOIN with empty result subquery produces a wrong result.
(Hyoungjun Kim via hyunsik)
TAJO-881: JOIN with union query occurs NPE. (Hyoungjun Kim via hyunsik)
TAJO-884: complex join conditions should be supported in ON clause.
(hyunsik)
TAJO-874: Sometimes InvalidOperationException occurs when aggregates
TableStat. (Hyoungjun Kim via hyunsik)
TAJO-866: COUNT DISTINCT with other aggregation function throws
ClassCastException. (Hyoungjun Kim via hyunsik)
TAJO-882: CLI hangs when a error occurs in the GlobalPlanner.
(Hyoungjun Kim via hyunsik)
TAJO-850: OUTER JOIN does not properly handle a NULL.
(Hyoungjun Kim via hyunsik)
TAJO-879: Some data is missing in the case of BROADCAST JOIN and
multi-column partition. (Hyoungjun Kim via jaehwa)
TAJO-848: PreLogicalPlanVerifier::visitInsert need to find smaller
expressions than target columns for a partitioned table. (jaehwa)
TAJO-880: NULL in CASE clause occurs Exception. (Hyoungjun Kim via hyunsik)
TAJO-862: Restore failure of dumped relations. (jihoon)
TAJO-861: tajo-dump script are not executable. (jinho)
TAJO-839: If all tables participate in the BROADCAST JOIN, there is some
missing data. (Hyoungjun Kim via jihoon)
TAJO-868: TestDateTimeFunctions unit test is occasionally failed. (hyunsik)
TAJO-863: Column order mismatched in the JOIN query with asterisk selection.
(Hyoungjun Kim via hyunsik)
TAJO-851: Timestamp type test of TestSQLExpression::testCastFromTable fails
in jenkins CI test. (Hyoungjun Kim via hyunsik)
TAJO-830: Some filter conditions with a SUBQUERY are removed by optimizer.
(Hyoungjun Kim via hyunsik)
TAJO-819: KillQuery does not work for running query on TajoWorker. (jaehwa)
TAJO-808: Fix pre-commit build failure. (jinho)
TAJO-827: SUM() overflow in the case of INT4. (Hyoungjun Kim via hyunsik)
TAJO-832: NPE occurs when Exception's message is null in Task.
(Hyoungjun Kim via hyunsik)
TAJO-833: NPE occurs when using the column as a alias name in the multiple
DISTINCT. (Hyoungjun Kim via hyunsik)
TAJO-821: IllegalStateException occurs when a NettyClientBase object is created
within single thread. (hyoungjunkim via jinho)
TAJO-816: NULL delimiter doesn't apply with HCatalogStore. (jaehwa)
TAJO-823: Missing INET4 handling in DatumFactory.cast(). (jihoon)
TAJO-803: INSERT INTO without FROM throws ClassCastException.
(Hyoungjun Kim via hyunsik)
TAJO-813: CLI should support comment character with multi-line query.
(Hyoungjun Kim via hyunsik)
TAJO-800: CLI's meta command should be aware "TABLE_NAME" style.
(Hyoungjun Kim via hyunsik)
TAJO-795: PlannerUtil::joinJoinKeyForEachTable need to handle theta-join.
(jaehwa)
TAJO-792: Insert table error with database name.
(Hyoungjun Kim via hyunsik)
TAJO-806: CreateTableNode in CTAS uses a wrong schema as output schema and
table schema. (hyunsik)
TAJO-805: Multiple constant in selection emits some columns.
(Hyoungjun Kim via hyunsik)
TAJO-799: Local query without FROM throws IllegalArgumentException in
CLI. (Hyoungjun Kim via hyunsik)
TAJO-802: No partition columns in WEB catalog page.
(Hyoungjun Kim via hyunsik)
TAJO-766: Test failures in TestExecExternalShellCommand. (jihoon)
TASKS
TAJO-668: Add datetime function documentation. (Jongyoung Park via hyunsik)
TAJO-1077: Add Derby configuration documentation. (hyunsik)
TAJO-1068: Add SQL Query documentation. (hyunsik)
TAJO-1078: Update contributor list. (hyunsik)
TAJO-1070: BSTIndexScanExec should not seek a negative offset. (jinho)
TAJO-1054: Wrong comment in ByteUtils.splitWorker().
(Jongyoung Park via jinho)
TAJO-1007: Update site for new committer and new contributors.
(hyunsik)
TAJO-1001: Add missed postgresql license to NOTICE.txt and LICENSE.txt.
(hyunsik)
TAJO-890: Redirect stdout of maven test to /dev/null in Travis CI
script. (hyunsik)
TAJO-887: Eliminate HiveQL support feature. (hyunsik)
TAJO-886: Add IRC page to community section in site. (hyunsik)
TAJO-859: Update site for new committer Alvin Henrick. (hyunsik)
TAJO-817: tajo-core should not skip deploy. (hyunsik)
TAJO-814: Set up Travis CI builds. (hyunsik)
TAJO-820: Add missing license header to 0.8.0 release announcement.
(hyunsik)
TAJO-810: TAJO-810: Update Tajo site for 0.8.0 release. (hyunsik)
TAJO-605: Rename Options to KeyValueList. (jinho)
TAJO-834: Add Travis notification to issues@tajo.a.o and IRC. hyunsik)
SUB TASKS
TAJO-1069: TAJO-1069: Add document to explain High Availability support. (jaehwa)
TAJO-1096: Update download source documentation (Mai Hai Thanh via jaehwa)
TAJO-1062: Update TSQL documentation. (jaehwa)
TAJO-1061: TAJO-1061: Update build documentation. (jaehwa)
TAJO-1060: Apply updated hadoop versions to README and BUILDING files.
(jinho)
TAJO-667: Add math function documentation. (Jongyoung Park via hyunsik)
TAJO-1016: Refactor worker rpc information. (jinho)
TAJO-1015: Add executionblock event in worker. (jinho)
TAJO-783: Remove yarn-related code from tajo-core. (hyunsik)
Release 0.8.0
NEW FEATURES
TAJO-711: Add Avro storage support. (David Chen via hyunsik)
TAJO-746: Implements function COALESCE. (hyoungjunkim via hyunsik)
TAJO-616: SequenceFile support. (jaehwa)
TAJO-480: Umbrella Jira for adding ALTER TABLE statement.
(Alvin Henrick via hyunsik)
TAJO-378: Implement concat_ws function. (Seungun Choe via jaehwa)
TAJO-377: Implement concat function (Seungun Choe via jaehwa)
TAJO-30: Parquet Integration. (David Chen via hyunsik)
TAJO-353: Add Database support to Tajo. (hyunsik)
TAJO-574: Add a sort-based physical executor for column partition store.
(hyunsik)
TAJO-569: Add max(TEXT) function. (hyunsik)
TAJO-449: Implement extract() function. (Keuntae Park)
TAJO-482: Implements listing functions and describing a specified
function. (hyoungjunkim via hyunsik)
TAJO-498: Implement digest(text, text) function.
(DaeMyung Kang via hyunsik)
TAJO-122: Add EXPLAIN clause to show a logical plan.
(DaeMyung Kang via hyunsik)
TAJO-438: Date literal support. (Jae Young Lee via jihoon)
TAJO-474: Add query admin utility. (DaeMyung Kang via hyunsik)
TAJO-460: CTAS statement should support partitioned table.
(Min Zhou via hyunsik)
TAJO-381: Implement find_in_set function. (Jae Young Lee via hyunsik)
TAJO-439: Time literal support. (DaeMyung Kang via jihoon)
TAJO-437: Timestamp literal support. (hyunsik)
TAJO-382: Implement encode/decode functions. (Seungun Choe via jihoon)
TAJO-436: Implement ceiling(FLOAT8) function. (DaeMyung Kang via hyunsik)
TAJO-338 : Add Query Optimization Part for Column-Partitioned Tables.
(hyunsik)
TAJO-333: Add metric system to Tajo. (hyoungjunkim via jihoon)
TAJO-413: Implement pi function. (DaeMyung Kang via jihoon)
TAJO-61: Implement Time Datum Type. (DaeMyung Kang via hyunsik)
TAJO-60: Implement Date Datum Type. (hyunsik)
TAJO-400: Implement pow(float8, float8) function. (DaeMyung Kang via jaehwa)
TAJO-384: to_bin(). (Jae Young Lee via jaehwa)
TAJO-62: Implement Timestamp Datum type. (hyunsik)
TAJO-307: Implement chr(int) function. (DaeMyung Kang via hyunsik)
TAJO-365: Implement degrees/radians function. (DaeMyung Kang via hyunsik)
TAJO-368: Implement quote_ident function. (Seungun Choe via hyunsik)
TAJO-392: Implement cbrt function. (DaeMyung Kang via hyunsik)
TAJO-394: Implement abs function. (DaeMyung Kang via hyunsik)
TAJO-395: Implement exp function. (DaeMyung Kang via hyunsik)
TAJO-396: Implement sqrt function. (DaeMyung Kang via hyunsik)
TAJO-397: Implement sign function. (DaeMyung Kang via hyunsik)
TAJO-343: Implement locate function. (KyoungBok Lee via hyunsik)
TAJO-364: Implement mod/div function. (DaeMyung Kang via jaehwa)
TAJO-361: Implement rpad function. (Seungun Choe via jaehwa)
TAJO-359: Implement lpad function. (Seungun Choe via jaehwa)
TAJO-306: Implement ascii(string) function. (SeongHwa Ahn via jaehwa)
TAJO-354: Fix invalid type to valid type for udfs(bit_length/char_length).
(DaeMyung Kang via hyunsik)
TAJO-366: Implement trigonometric functions. (Jae Young Lee via jihoon)
TAJO-358: Implement initcap(string) function. (Seungun Choe via hyunsik)
TAJO-355: Implement repeat(text,int) function. (DaeMyung Kang via jaehwa)
TAJO-339: Implement sin( x ) - returns the sine of x (x is in radians).
(Jae Young Lee via jaehwa)
TAJO-348: Implement octet_length(text). (DaeMyung Kang via jaehwa)
TAJO-357: Fix invalid filename TestMethFunction to TestMathFUnction.
(DaeMyung Kang via hyunsik)
TAJO-352: Implement right/left(text, size) function.
(DaeMyung Kang via hyunsik)
TAJO-346: Implement hex function. (DaeMyung Kang via hyunsik)
TAJO-349: Implement md5(text). (DaeMyung Kang via hyunsik)
TAJO-351: Implement reverse(text). (DaeMyung Kang via hyunsik)
TAJO-342: Implement strpos(string, substring) function.
(hyoungjunkim via hyunsik)
TAJO-350: Implement round, floor, ceil. (hyoungjunkim via hyunsik)
TAJO-207: Implement bit_length(string) function. (DaeMyung Kang via jihoon)
TAJO-341: Implement substr function. (hyoungjunkim via hyunsik)
TAJO-308: Implement length(string) function. (hyoungjunkim via hyunsik)
TAJO-200: RCFile compatible to apache hive. (jinho)
TAJO-176: Implement Tajo JDBC Driver. (Keuntae Park via jihoon)
TAJO-16: Enable Tajo catalog to access Hive metastore. (jaehwa)
TAJO-285: Add CREATE TABLE... BY PARTITION statement to parser. (hyunsik)
TAJO-267: Implement equals() and deepEquals() functions at LogicalNode.
(jihoon)
IMPROVEMENTS
TAJO-737: Change version message when daemon starts up. (hyunsik)
TAJO-768: Improve the log4j configuration. (hyoungjunkim via jinho)
TAJO-755: ALTER TABLESPACE LOCATION support. (hyunsilk)
TAJO-732: Support executing LINUX shell command and HDFS command.
(hyoungjun kim via hyunsik)
TAJO-745: APIs in TajoClient and JDBC should be case sensitive.
TAJO-743: Change the default resource allocation policy of leaf tasks. (jinho)
TAJO-717: Improve file splitting for large number of splits. (jinho)
TAJO-356: Improve TajoClient to directly get query results in the first request.
(hyunsik)
TAJO-728: Supports expression IN statement. (hyunsik)
TAJO-725: Broadcast JOIN should supports multiple tables. (hyoungjunkim via jaehwa)
TAJO-735: Remove multiple SLF4J bindings message. (hyoungjunkim via hyunsik)
TAJO-709: Add .reviewboardrc and use rbt instead of post-review.
(David Chen via hyunsik)
TAJO-714: Enable setting Parquet tuning parameters. (David Chen via hyunsik)
TAJO-691: HashJoin or HashAggregation is too slow if there is many unique
keys. (hyoungjunkim via hyunsik)
TAJO-685: Add prerequisite to the document of network functions and
operators. (jihoon)
TAJO-644: Support quoted identifiers. (hyunsik)
TAJO-553: Add a method to the TajoClient to get finished query lists.
(Ilhyun Suh via jihoon)
TAJO-670: Change daemon's hostname to canonical hostname
(hyoungjunkim via hyunsik)
TAJO-638: ExecutionBlock must be sorted by start time in querydetail.jsp.
(hyoungjunkim via hyunsik)
TAJO-589: Add fine grained progress indicator for each task.
(hyoungjunkim via hyunsik)
TAJO-614: Explaining a logical node should use ExplainLogicalPlanVisitor.
(hyunsik)
TAJO-610: Refactor Column class. (hyunsik)
TAJO-601: Improve distinct aggregation query processing. (hyunsik)
TAJO-305: Implement killQuery feature. (hyunsik)
TAJO-598: Refactoring Tajo RPC. (jinho)
TAJO-592: HCatalogStore should supports RCFile and default hive field
delimiter. (jaehwa)
TAJO-548: Investigate frequent young gc. (Min Zhou via hyunsik)
TAJO-584: Improve distributed merge sort. (hyunsik)
TAJO-36: Improve ExternalSortExec with N-merge sort and final pass
omission. (hyunsik)
TAJO-564: Show execution block's progress in querydetail.jsp.
(hyoungjunkim via hyunsik)
TAJO-569: Add max(TEXT) function. (hyunsik)
TAJO-497: Rearrange reserved and non-reserved keywords. (sirpkt via hyunsik)
TAJO-475: Table partition catalog recap. (Min Zhou and hyunsik)
TAJO-539: Change some EvalNode::eval to directly return a Datum value.
(hyunsik)
TAJO-543: InsertNode and CreateTableNode should play their roles. (hyunsik)
TAJO-409: Add explored and explained annotations to Tajo function system.
(SeongHwa Ahn via hyunsik)
TAJO-499: Shorten the length of classpath in shell command.
(hyoungjunkim via hyunsik)
TAJO-483: Add getParentCount(), getParents(), getParent() functions to DirectedGraph.
(jihoon)
TAJO-433: Improve integration with Hive. (jaehwa)
TAJO-471: Extract ColumnPartitonUtils class for ColumnPartition rewrite.
(DaeMyung Kang via hyunsik)
TAJO-476: Add a test development kit for unit tests based on executions
of queries. (hyunsik)
TAJO-464: Rename the name 'partition', actually meaning shuffle to
'shuffle'. (hyunsik)
TAJO-385: Refactoring TaskScheduler to assign multiple fragments. (jihoon)
TAJO-468: Implements task's detail info page in WEB UI.
(hyoungjunkim via hyunsik)
TAJO-466: Supporting TIME types in DatumFactory.createFromInt8. (DaeMyung Kang via jihoon)
TAJO-458: Visit methods of LogicalPlanVisitor should take a query block
as parameter. (hyunsik)
TAJO-456: Separate tajo-jdbc and tajo-client from tajo-core-backend. (hyunsik)
TAJO-432: Add shuffle phase for column-partitioned table store. (Min Zhou via jihoon)
TAJO-135: Bump up hadoop to 2.2.0. (jihoon)
TAJO-435: Improve intermediate file. (jinho)
TAJO-424: Make serializer/deserializer configurable in CSVFile. (jinho)
TAJO-419: Add missing visitor methods of AlgebraVisitor and
BaseAlgebraVisitor. (hyunsik)
TAJO-421: Improve split for compression file. (jinho)
TAJO-327: Add testcase to verify TAJO-16. (jaehwa)
TAJO-405: Improve HCatalogStore to support partitioned table. (jaehwa)
TAJO-336: Separate catalog stores into separate modules. (jaehwa)
TAJO-329: Implement physical operator to store in column-partitioned table.
(jaehwa)
TAJO-391: Change the default type of real values from FLOAT4 to FLOAT8
when parsing the user queries. (DaeMyung Kang via jihoon)
TAJO-304: drop table command should not remove data files in default.
(hyunsik)
TAJO-316: Improve GreedyHeuristicJoinOrderAlgorithm to deal with
non-commutative joins. (hyunsik)
TAJO-371: Increase the default value of worker memory. (jihoon)
TAJO-284: Add table partitioning entry to Catalog. (jaehwa)
TAJO-317: Improve TajoResourceManager to support more elaborate resource
management. (Keuntae Park via jihoon)
TAJO-314: Make TaskScheduler be pluggable. (jihoon)
TAJO-325: QueryState.NEW and QueryState.INIT should be combined into one
state. (Min Zhou via hyunsik)
TAJO-313: Support deprecated variables in CatalogConstants. (jaehwa)
TAJO-310: Make the DataLocation class as a separate class and move it to
the tajo-core-storage package. (jihoon)
TAJO-311: Improve Hive dependency. (jaehwa)
TAJO-309: Remove unused fields in FileFragment. (jihoon)
TAJO-297: Rename JDBC variables in CatalogConstants to be more generic.
(jaehwa)
TAJO-287: Improve Fragment to be more generic. (hyunsik)
TAJO-274: Maintaining connectivity to Tajo master regardless of the restart
of the Tajo master. (Keuntae Park via hyunsik)
TAJO-287: Refactor TableDesc, TableMeta, and Fragment. (hyunsik)
TAJO-275: Separating QueryMaster and TaskRunner roles in worker.
(Keuntae Park via jihoon)
BUG FIXES
TAJO-787: FilterPushDownRule::visitSubQuery does not consider aliased columns. (jaehwa)
TAJO-786: TajoDataMetaDatabase::getSchemas creates invalid MetaDataTuple.
(hyunsik)
TAJO-652: logical planner cannot handle alias on partition columns.
(Hyoungjun Kim via hyunsik)
TAJO-675: maximum frame size of frameDecoder should be increased. (jinho)
TAJO-748: Shuffle output numbers of join may be inconsistent. (jaehwa)
TAJO-777: Partition column in function parameter occurs NPE.
(Hyoungjun Kim via hyunsik)
TAJO-763: Out of range problem in utc_usec_to(). (Ilhyun Suh via hyunsik)
TAJO-741: GreedyHeuristicJoinOrderAlgorithm removes some join pairs. (jaehwa)
TAJO-772: TajoDump cannot dump upper/lower mixed case database names.
(hyunsik)
TAJO-765: Incorrect Configuration Classpaths. (jinho)
TAJO-563: INSERT OVERWRITE should not remove data before query success.
(hyunsik)
TAJO-738: NPE occur when failed in QueryMaster's GlobalPlanner.build().
(hyoungjunkim via hyunsik)
TAJO-739: A subquery with the same column alias caused planning error.
(hyoungjunkim via hyunsik)
TAJO-729: PreLogicalPlanVerifier verifies distinct aggregation functions
incorrectly. (hyunsik)
TAJO-719: JUnit test failures. (jinho)
TAJO-713: Missing INET4 in UniformRangePartition. (jihoon)
TAJO-718: A group-by clause with the same columns but aliased causes
planning error. (hyunsik)
TAJO-679: TimestampDatum, TimeDatum, DateDatum should be able to be
compared with NullDatum. (Alvin Henrick via jihoon)
TAJO-716: Using column names actually aliased in aggregation functions
can cause planning error. (hyunsik)
TAJO-698: Error occurs when FUNCTION and IN statement are used together.
(hyunsik)
TAJO-692: Missing Null handling for INET4 in RowStoreUtil. (jihoon)
TAJO-712: Fix some bugs after database is supported. (hyunsik)
TAJO-701: Invalid bytes when creating BlobDatum with offset. (jinho)
TAJO-708: Test failure after a successful test. (jihoon)
TAJO-705: CTAS always stores tables with CSV storage type into catalog.
(jinho)
TAJO-693: StatusUpdateTransition in QueryUnitAttempt handles TA_UPDATE
incorrectly. (hyunsik)
TAJO-687: TajoMaster should pass tajoConf to create catalogServer.
(DaeMyung Kang via jihoon)
TAJO-690: infinite loop occurs when rack task is assigning. (jinho)
TAJO-689: NoSuchElementException occurs during assigning the leaf tasks.
(jinho)
TAJO-651: HcatalogStore should support (de)serialization of RCFile. (jinho)
TAJO-647: Work unbalance on disk scheduling of DefaultScheduler. (jinho)
TAJO-612: Missing INET4 type in SQLParser. (jihoon)
TAJO-672: Wrong progress status when overwrites to partition table.
(hyoungjunkim via hyunsik)
TAJO-663: CREATE TABLE USING RAW doesn't throw ERROR. (jaehwa)
TAJO-665: sort buffer size must be dealt as long type values.
(hyoungjunkim via hyunsik)
TAJO-427: Empty table makes IndexOutOfBoundsException at LEFT OUTER JOIN
clause. (jaehwa)
TAJO-650: Repartitioner::scheduleHashShuffledFetches should adjust the
number of tasks. (hyunsik)
TAJO-648: TajoWorker does not send correct QM rpc and client rpc ports
via heartbeat. (hyunsik)
TAJO-653: RCFileAppender throws IOException. (jinho)
TAJO-641: NPE in HCatalogStore.addTable(). (jaehwa)
TAJO-646: TajoClient is blocked while main thread finished.
(hyoungjunkim via jinho)
TAJO-645: Task.Reporter can cause NPE during reporting. (hyunsik)
TAJO-630: QueryMasterTask never finished when Internal error occurs.
(hyunsik)
TAJO-638: QueryUnitAttempt causes Invalid event error: TA_UPDATE at
TA_ASSIGNED. (hyunsik)
TAJO-640: In inner join clause, empty table can cause a error by order-by
clause. (jaehwa)
TAJO-635: Improve tests of query semantic verification. (hyunsik)
TAJO-620: A join query can cause IndexOutOfBoundsException if one of
tables is empty. (jaehwa)
TAJO-628: The second stage of distinct aggregation can be scheduled to
only one node. (hyunsik)
TAJO-619: SELECT count(1) after joins on text keys causes wrong plans.
(hyunsik)
TAJO-403: HiveQLAnalyzer should supports standard function in the GROUP BY
Clause. (jaehwa)
TAJO-594: MySQL store doesn't work. (Yongjun Park via jaehwa)
TAJO-590: Rename HiveConverter to HiveQLAnalyzer. (jaehwa)
TAJO-575: Worker's env.jsp has wrong URL which go to worker's index.jsp.
(hyoungjunkim via jaehwa)
TAJO-609: PlannerUtil::getRelationLineage ignores PartitionedTableScanNode.
(hyunsik)
TAJO-606: Statemachine visualization fails. (Min Zhou via hyunsik)
TAJO-595: The same expressions without different alias are not allowed.
(hyunsik)
TAJO-554: LogicalPlanner should allow additional expressions with asterisk
in select list. (jihoon)
TAJO-593: outer groupby and groupby in derived table causes only one
shuffle output number. (hyunsik)
TAJO-583: Broadcast join does not work on partitioned tables. (hyunsik)
TAJO-588: In some case, leaf task of DefaultTaskScheduler are not
distributed execution. (jinho)
TAJO-586: containFunction shouldn't throw NoSuchFunctionException. (jinho)
TAJO-582: Invalid split calculation. (jinho)
TAJO-581: Inline view on column partitioned table causes NPE. (hyunsik)
TAJO-577: Support S3FileSystem split. (Yongjun Park via jihoon)
TAJO-568: Union query with the same alias names cause NPE. (hyunsik)
TAJO-570: InvalidOperationException in outer join with constant values.
(hyunsik)
TAJO-506: RawFile cannot support DATE type. (jinho)
TAJO-566: BIN/TAJO_DUMP makes wrong ddl script. (hyoungjunkim via hyunsik)
TAJO-567: Expression projection bugs. (hyunsik)
TAJO-565: FilterPushDown rewrite rule does not push filters on
partitioned scans. (hyunsik)
TAJO-560: CTAS PARTITION BY with UNION can cause invalid global plan.
(hyunsik)
TAJO-558: HCatalogStore can't scan columns. (jaehwa)
TAJO-556: java.lang.NoSuchFieldError: IS_SECURITY_ENABLED. (jaehwa)
TAJO-372: When an exception except for network issues occurs, the
operation should not be repeated. (hyunsik)
TAJO-552: Fix Bug verify-protocbuf.sh runs with bash.
(DaeMyung Kang via jihoon)
TAJO-551: Fix bug getFunction can get wrong function that have invalid
parameters. (DaeMyung Kang via jihoon)
TAJO-544: Thread pool abusing. (Min Zhou via hyunsik)
TAJO-493: maven pom.xml should enforce protobuf 2.5. (jaehwa)
TAJO-360: If there is no matched function, catalog causes NPE.
(hyoungjunkim via hyunsik)
TAJO-537: After TAJO-522, still OutOfMemoryError: unable to create new
native thread. (Min Zhou via hyunsik)
TAJO-522: OutOfMemoryError: unable to create new native thread.
(hyoungjunkim via hyunsik)
TAJO-518: tajo-algebra and ProjectionPushDownRule code cleanup. (hyunsik)
TAJO-503: HCatalogStore can't scan several hive databases. (jaehwa)
TAJO-502: Jenkins build is failing. (jinho)
TAJO-485: 'CREATE TABLE AS' does not work properly with partition. (jinho)
TAJO-488: Data fetcher doesn't close small file in shuffle. (jinho)
TAJO-496: java.lang.NoSuchFieldError: IS_SECURITY_ENABLED when debugging
tajo. (Min Zhou via hyunsik)
TAJO-490: Tajo can't use 'dfs.nameservices' based on namenode ha mode.
(jaehwa)
TAJO-477: Rename killQuery of QMClientProtocol to closeQuery. (hyunsik)
TAJO-484: Fix bug [: !=: unary operator expected when execute start-tajo.sh.
(DaeMyung Kang via jihoon)
TAJO-479: Rename obsolete name 'partition' to 'shuffle and fix the broken
taskdetail.jsp. (hyunsik).
TAJO-470: Fetcher's finished time and file length is changed in WEB UI.
(hyoungjunkim via hyunsik)
TAJO-469: CTAS with no column definition will get a NPE.
(Min Zhou via hyunsik)
TAJO-467: Too many open FD when master failed. (hyoungjunkim via hyunsik)
TAJO-455: Throw PlanningException when Creating table with Partition
exception COLUMN. (DaeMyung Kang via hyunsik)
TAJO-452: Timstamp literal with fractional seconds results in
java.lang.ArrayIndexOutOfBoundsException. (Keuntae Park via hyunsik)
TAJO-454: pass invalid argument to DateTime constructor in LogicalPlanner.
(DaeMyung Kang via hyunsik)
TAJO-451: Update documentation and version constant for Tajo 0.8.
(hyunsik)
TAJO-448: Timestamp should be based on unixtime. (hyunsik)
TAJO-450: Incorrect inet4datum comparison. (jinho)
TAJO-182: Comparison of primitive values including null value should
return NULL. (hyunsik)
TAJO-431: HCatalogStore can't write any data using INSERT OVERWRITE clause.
(jaehwa)
TAJO-442: Cast operator with nested functions causes NPE. (hyunsik)
TAJO-426: HCatalogStore created partitions automatically. (jaehwa)
TAJO-418: sort operator after inline views consisting of unions can cause
an incorrect distributed plan. (hyunsik)
TAJO-417: TestSQLExpression.testCastFromTable causes unit test failure.
(hyunsik)
TAJO-415: Some complex queries causes NPE and unlimited recursions.
(hyunsik)
TAJO-414: Fix bug of bit operations in decode() method of DateDatum class.
(Keuntae Park via jihoon)
TAJO-407: PostgreSQL-style cast should be higher operator priority.
(hyunsik)
TAJO-411: Fix Bug: createFromInt8's DATE type should be TIMESTAMP.
(DaeMyung Kang via jihoon)
TAJO-390: Queries on history are expired earlier than a given expiry time.
(hyoungjunkim via hyunsik)
TAJO-410: A query with a combination of general and distinct aggregation
functions fails. (hyunsik)
TAJO-404: Tajo does not recognize boolean literal. (hyunsik)
TAJO-344: Tajo cannot recognize negative numeric expressions. (hyunsik)
TAJO-393: Unit tests must use test-data directory. (hyunsik)
TAJO-388: limit clause does not work properly. (hyunsik)
TAJO-389: The LazyTuple does not work when number format exception occurs
in text deserializer. (jinho)
TAJO-387: Query is hanging when errors occurs in Query or SubQuery class.
(hyunsik)
TAJO-268: Temporal files should be removed after query is finished. (jinho)
TAJO-292: Too many intermediate partition files. (jinho)
TAJO-375: TajoClient can't get result data when different os user
(hyoungjunkim via hyunsik)
TAJO-347: Fix bug when to call function with insensitive function name.
(DaeMyung Kang via hyunsik)
TAJO-345: MergeScanner should support projectable storages. (jihoon)
TAJO-290: TajoDataType.Type.NULL should be NULL_TYPE. (DaeMyung Kang via
jinho)
TAJO-332: Invalid row count of CSVScanner. (jinho)
TAJO-326: In ExecutionBlock, isRoot() and isLeafBlock() return invalid
values. (jihoon)
TAJO-296: Late registration of Tajo workers. (hyoungjunkim via hyunsik)
TAJO-321: Invalid split file of compressed text file. (jinho)
TAJO-295: ConcurrentModificationException in TaskScheduler. (jinho)
TAJO-293: querymasters directory not found in single node setup. (hyunsik)
TASKS
TAJO-517: Publish Tajo jar to a public maven repository. (hyunsik)
TAJO-788: Update Tajo documentation and README, and BUILDING. (hyunsik)
TAJO-752: Escalate sub modules in tajo-core into the top-level modules.
(hyunsik)
TAJO-753: Clean up of maven dependencies. (jinho)
TAJO-730: Update Tajo site to reflect graduation. (hyunsik)
TAJO-529: Fix warnings in tajo-algebra. (jaehwa)
TAJO-700: Update site, wikis, pom.xml and other resources to point to the
new repository location. (jihoon)
TAJO-694: Bump up hadoop to 2.3.0. (jinho)
TAJO-684: Add functions about time. (Alvin Henrick via jihoon)
TAJO-669: Add cluster setup documentation. (hyunsik)
TAJO-681: Embed sphinx rtd theme into tajo-docs. (hyunsik)
TAJO-657: Missing table stat in RCFile. (jinho)
TAJO-659: Add Tajo JDBC documentation. (hyunsik)
TAJO-642: Change tajo documentation tool to sphinx. (hyunsik)
TAJO-632: add intellij idea projects files into git ignore.
(Min Zhou via hyunsik)
TAJO-218: HiveQLAnalyzer has to support cast expression. (jaehwa)
TAJO-621: Add DOAP file for Tajo. (hyunsik)
TAJO-622: Add TM mark and navigation links required for TLP project.
(hyunsik)
TAJO-578: Update configuration for tajo-site.xml. (jaehwa)
TAJO-530: Fix warnings in tajo-catalog. (jaehwa)
TAJO-532: Fix warnings in tajo-common. (jinho)
TAJO-520: Move tajo-core-storage to tajo-storage. (jinho)
TAJO-536: Fix warnings in tajo-core-storage. (jinho)
TAJO-545: MySQLStore Documentation. (jaehwa)
TAJO-526: HCatalogStore Documentation. (jaehwa)
TAJO-535: Fix warnings in tajo-rpc. (jinho)
TAJO-531: Fix warnings in tajo-client. (jinho)
TAJO-478: Add request-patch-review.py that helps submitting patches to
jira and reviewboard. (hyunsik)
TAJO-508: Apply findbugs-excludeFilterFile to TajoQA. (jinho)
TAJO-457: Update committer list and contributor list. (hyunsik)
TAJO-166: Automatic precommit test using Jenkins. (hyunsik)
TAJO-322: Documentation by version. (hyunsik)
TAJO-320: Visualize Tajo statemachine. (Min Zhou via hyunsik)
TAJO-319: Update homepage and bump tajo version to 0.8. (hyunsik)
SUB TASKS
TAJO-215: Catalog should allow compatible types when finding functions.
(Alvin Henrick via hyunsik)
TAJO-736: Add table management documentation. (hyunsik)
TAJO-602: WorkerResourceManager should be broke down into 3 parts.
(hyunsik)
TEST
TAJO-686: Integration test aborted. (jinho)
Release 0.2.0
NEW FEATURES
TAJO-260: Add between predicate. (hyunsik)
TAJO-208: Implement char_length(string) function. (hyunsik)
TAJO-99: Design the interface of join enumeration algorithm. (hyunsik)
TAJO-179: Support MySQL CatalogStore. (jinho)
TAJO-147: Implement trim(text), ltrim(text), and rtrim(text) function.
(hyunsik)
TAJO-148: Implement UPPER(text), LOWER(text) function. (hyunsik)
TAJO-220: Implement catalog dump feature. (hyunsik)
TAJO-216: Improve FilterPushDownRule and Implement physical operators
for outer join. (camelia_c via hyunsik)
TAJO-211: Implement regexp_replace function. (hyunsik)
TAJO-212: Implement type cast expresion. (hyunsik)
TAJO-206: Implement String concatenation operator (||). (hyunsik)
TAJO-213: NULL characters in meta of csv table should be supported.
(jinho)
TAJO-185: Implement split_part function. (hyunsik)
TAJO-193: Add string pattern matching operators. (hyunsik)
TAJO-101: HiveQL converter. (jaehwa)
TAJO-144: Implement INSERT OVERWRITE clause. (hyunsik)
TAJO-139: TAJO-139: In predicate support. (hyunsik)
TAJO-134: Support for compression/decompression of CSVFile. (jinho)
TAJO-59: Implement Char Datum Type. (jihoon)
TAJO-96: Design and implement rewrite rule interface and the rewrite rule
engine. (hyunsik)
TAJO-19: CREATE TABLE without external data should be supported. (jinho)
TAJO-57: Recognize Parser and Catalog Standard SQL data types. (hyunsik)
TAJO-33: Implement a basic query progress indicator. (hyunsik)
IMPROVEMENTS
TAJO-270: Boolean datum compatible to apache hive. (jinho)
TAJO-261: Rearrange default port numbers and config names. (hyunsik)
TAJO-236: Implement LogicalPlanVerifier to check if a logical plan is
valid. (hyunsik)
TAJO-254: Refactor package names and class names to have proper names.
(add a missed changelog)
TAJO-255: Cleanup exceptions of engine. (hyunsik)
TAJO-253: Clean up tajo-default.xml in test resource. (hyunsik)
TAJO-239: Improving web UI. (Keuntae Park via hyunsik)
TAJO-232: Rename join operators and add other join operators to
PhysicalPlanner. (hyunsik)
TAJO-229: Implement JoinGraph to represent a graph of relation joins.
(hyunsik)
TAJO-223: Maximize disk read bandwidth utilization of StorageManagerV2 by
moving Tuple creation role to next(). (Keuntae Park via hyunsik)
TAJO-199: All relations in catalog must have data volume size. (hyunsik)
TAJO-224: Rearrange DataType enumeration and Refactor type systems.
(hyunsik)
TAJO-214: System should inquire finished query history after execution
in web. (SeongHwa Ahn via hyunsik)
TAJO-145: count(distinct column) should be supported. (hyunsik)
TAJO-197: Implement Enforcer that forces physical planner to choose
specified algorithms. (hyunsik)
TAJO-194: LogicalNode should have an identifier to distinguish each
logical node instance. (hyunsik)
TAJO-183: Creating too many TableMetaProto objects might lead a potential
memory leak. (jihoon)
TAJO-184: Refactor GlobalPlanner and global plan data structure. (hyunsik)
TAJO-119: Refactor and Improve Datum. (jinho)
TAJO-178: Implements StorageManager for scanning asynchronously.
(hyoungjunkim via hyunsik)
TAJO-167: Implement GeneralSetFunctionExpr to represent all SQL standard
set functions. (hyunsik)
TAJO-149: Eliminate QueryConf and its file write. (hyunsik)
TAJO-143: Implement hash semi-join operator. (hyunsik)
TAJO-142: Implement hash anti-join operator. (hyunsik)
TAJO-94: Remove duplicate proto files. (hyunsik)
TAJO-141: Set on demand as the default cluster mode. (hyunsik)
TAJO-136: Broadcast join should be enabled. (hyunsik)
TAJO-127: Implement Tajo Resource Manager. (hyoungjunkim via hyunsik)
TAJO-84: Task scheduling with considering disk load balance. (jinho)
TAJO-123: Clean up the logical plan's json format. (hyunsik)
TAJO-129: Enable the constructor of NettyServerBase to take a service
name. (hyunsik)
TAJO-91: Launch QueryMaster on NodeManager per query.
(hyoungjunkim via hyunsik)
TAJO-100: Port the parse error handling to the new parser. (jinho)
TAJO-121: Add LogicalPlanVisitor and Refactor LogicalOptimizer to use the
visitor. (hyunsik)
TAJO-118: Refactor and Improve text file Scanner. (jinho)
TAJO-95: Eliminate the lazy copy approach from the classes wrapping
protobuf-generated classes. (hyunsik)
TAJO-102: Add AlgebraVisitor and Refactor LogicalPlanner to use the visitor.
(hyunsik)
TAJO-87: Integration of tajo algebra module and SQL parser. (hyunsik)
TAJO-70: Refactor GlobalEngine to handle DDL statements. (hyunsik)
TAJO-86: Improved error messages in query analyzer. (jinho)
TAJO-85: Add an method of create(DataType, byte[]) to DatumFactory. (jihoon)
TAJO-79: Refactor and Improve TajoCli. (hyunsik)
TAJO-77: Rename TabletProto as FragmentProto in CatalogProtos.proto.
(jihoon)
TAJO-22: The package prefix should be org.apache.tajo. (DaeMyung Kang via
hyunsik)
TAJO-75: Separate SQL.g into SQLParser.g and SQLLexer.g. (hyunsik)
TAJO-74: Refactor parser rules of SQL.g. (hyunsik)
TAJO-7: Enabling TajoCli to take multiple lines as one statement. (jinho)
TAJO-72: Rename NQL.g to SQL.g. (hyunsik)
TAJO-71: Case-insensitive parser. (hyunsik)
TAJO-40: Adopt YarnClient to GlobalEngine. (jihoon)
TAJO-69: Add .reviewboardrc file to the ignore lists of Rat and .gitignore.
(hyunsik)
TAJO-66: Support compiling and running Tajo with Java7 (Tejas Patil via
hsaputra)
TAJO-51: Parallel Container Launch of TaskRunnerLauncherImpl. (hyunsik)
TAJO-39 Remove the unused package tajo.engine.plan.global and all files
inside the directory. (hsaputra)
TAJO-37: Remove obsolete classes WorkerEventDispatcher, WorkerEvent and
WorkerEventType. (sunny.1324 via hyunsik)
TAJO-50: Cleanup SubQuery. (hyunsik)
TAJO-44: Adopt AMRMClient to RMContainerAllocator, RMCommunicator. (hyunsik)
TAJO-42: Divide SubQuery into FSM and execution block parts. (hyunsik)
TAJO-32: Cleanup TaskRunner. (hyunsik)
TAJO-27: Modify the document links to point the wiki's ones. (hyunsik)
TAJO-17: Improve the examples for jvm version and auxiliary service in
getting_started.apt. (hyunsik)
TAJO-10: Modify git ignore to include Apache derby log file. (hsaputra)
TAJO-12: Add information in README on how to subscribe to mailing
lists (mattmann, hyunsik)
TAJO-11: Update file README to reflect Apache incubation. (hyunsik)
TAJO-4: Update the project site. (hyunsik)
TAJO-2: remove all @author tags and update license header. (hyunsik)
BUG FIXES
TAJO-759: Fix findbug errors added recently. (hyunsik)
TAJO-754: failure of INSERT INTO may remove the target table.
(hyunsik)
TAJO-682: RangePartitionAlgorithm should be improved to handle empty
texts. (hyunsik)
TAJO-511: Sometimes, a query progress becomes higher than 100%. (jihoon)
TAJO-281: 'mvn package -Pdist' generates duplicate Tajo jar files.
(hyunsik)
TAJO-277: Infinite loop occurs when a table is empty. (jinho)
TAJO-273: NotEval incurs NPE with boolean column. (hyunsik)
TAJO-272: boolean test does not work correctly. (hyunsik)
TAJO-264: Remove hard-coded 'standby' mode. (jinho)
TAJO-262: Integration test hang on jenkins. (jinho)
TAJO-257: Unit tests occasionally fail. (hyunsik)
TAJO-169: the default TAJO_WORKER_STANDBY_MODE in tajo-env.sh is wrong.
(hyunsik)
TAJO-231: In StorageManger v2, TestCSVCompression incurs unexpected end of
stream occasionally. (hyunsik)
TAJO-250: QueryMaster must send the query finish heartbeat. (hyunsik)
TAJO-245: org.apache.tajo.algebra.FunctionExpr cannot be cast to
org.apache.tajo.algebra.ColumnReferenceExpr. (hyunsik)
TAJO-243: The 'tajo_dump' does not include options of table. (jinho)
TAJO-244: assignToNonLeafTasks causes NPE occurs occasionally. (hyunsik)
TAJO-242: Enable omitted broadcast join feature after TAJO-184. (hyunsik)
TAJO-240: Reformat HiveConverter source code to match adopted conventions
(jaehwa)
TAJO-241: Does not reconnect the meta store. (jinho)
TAJO-226: Can't use group by column alias. (hyunsik)
TAJO-203: Field delimiter does not work correctly. (jinho)
TAJO-205: Repartitioner occasionally chooses a partition number as one.
(hyunsik)
TAJO-191: INSERT OVERWRITE INTO statement should follow the table meta in
catalog. (jinho)
TAJO-198: The split function does not work properly. (jinho)
TAJO-187: The exception 'Some targets cannot be evaluated' is caused in
nested joins. (hyunsik)
TAJO-46: The "having" clause does not work properly. (hyunsik)
TAJO-186: Improve column resolving method. (hyunsik)
TAJO-168: infinite loop occurs when QueryMaster is stopping. (jinho)
TAJO-180: Better error messages for
StorageManager.listStatus$InvalidInputException. (hyunsik)
TAJO-177: Call by reference bug in MergeJoinExec. (jihoon)
TAJO-171: BitArray always returned false. (jinho)
TAJO-172: TajoWorker allocate wrong container slots.(jinho)
TAJO-174: SQL error handler sometimes occurred NPE. (jinho)
TAJO-170: mvn compile error when building tar file. (jaehwa)
TAJO-154: Query calculates wrong progress in multiple step queries.
(hyunsik)
TAJO-152: The tajo local directory path is mismatched in PullServer.
(jihoon)
TAJO-80: Remove codes of legacy data paths. (jihoon)
TAJO-159: QueryMaster cannot connect the remote CatalogServer. (hyunsik)
TAJO-158: Can't allocate worker when single SubQuery requests more than
cluster capacity. (hyoungjunkim via hyunsik)
TAJO-157: The CSVScanner.isSplittable() function does not work properly.
(jinho)
TAJO-156: BufferUnderflowException occurs during processing the
intermediate file. (jinho)
TAJO-151: Multiple union queries within a table subquery causes NPE.
(hyunsik)
TAJO-137: Unreleased resources and wrong allocation requests in
TajoWorkerResourceManager. (hyoungjunkim via hyunsik)
TAJO-130: Same queryConf file conflicts. (jinho)
TAJO-82: NullPointerException occurs when Schema is converted as an array
of columns. (jihoon)
TAJO-65: Invalid pom.xml configurations for source directories.
(Takuya Ueshin via hyunsik)
TAJO-48: BufferUnderflowException occurs during the initialization of
RowFile. (jihoon)
TAJO-58: Remove obsolete methods in GlobalPlanner. (hyunsik)
TAJO-54: SubQuery::allocateContainers() may ask 0 containers. (hyunsik)
TAJO-41: Storage handler name row in storage-default.xml must be rowfile.
(hsaputra)
TAJO-47: RowFile has the duplicated initialization problem and unflipped
ByteBuffer problem. (jihoon)
TAJO-38: Update class comment in TaskAttemptContext from Korean to English
(hsaputra)
TAJO-15: The Integration test is getting hanged on Mac OS X. (hyunsik)
TAJO-8: MapReduce's ShuffleHandler and Tajo's PullServerAuxService conflict
each other. (jhkim)
TAJO-13: Update the groupId property in the pom.xml to use ASF org instead
of kr.ac.korea.dbserver (hsaputra)
TAJO-1: RCFileWrapper always reads whole columns regardless of the target
schema. (jihoonson via hyunsik)
TAJO-6: Rename tajo.engine.function.builtin.NewSumInt to SumInt. (rsumbaly)
TAJO-21: CREATE EXTERNAL TABLE should support a file path. (JaeHwa Jung)
TASKS
TAJO-288: Correct NOTICE file and LICENSE.txt. (hyunsik)
TAJO-271: Add MIT license to NOTICE.txt and LICENSE.txt for jquery and
jsPlumb. (hyunsik)
TAJO-265: Update installation guide and other documentation for 0.2
release. (hyunsik)
TAJO-252: Add DISCLAIMER file. (hyunsik)
TAJO-251: Rename the legacy name *.tql to *.sql. (hyunsik)