forked from apache/tajo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
1956 lines (1154 loc) · 63.2 KB
/
CHANGES
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
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Tajo Change Log
Release 0.9.1 - unreleased
NEW FEATURES
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-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-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-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)