-
Notifications
You must be signed in to change notification settings - Fork 11
/
CHANGES.txt
844 lines (487 loc) · 27.3 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
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-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-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-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)
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)