blob: 1e5f7475d032ed170fa01383cf070bd373552b5c [file] [log] [blame]
Tajo Change Log
Release 0.8.0 - unreleased
NEW FEATURES
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-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: Explaning 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-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 ealier 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-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-602: WorkerResourceManager should be broke down into 3 parts.
(hyunsik)
TEST
TAJO-686: Integration test aborted. (jinho)
Release 0.2.0 - released
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-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 occassionally 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)