Tajo Change Log

Release 0.2.0 - unreleased

  NEW FEATURES

    TAJO-273: NotEval incurs NPE with boolean column. (hyunsik)

    TAJO-267: Implement equals() and deepEquals() functions at LogicalNode. 
    (jihoon)

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