Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[exec](column) change some complex column move to noexcept #32954

Merged
merged 1 commit into from
Mar 28, 2024

Conversation

HappenLee
Copy link
Contributor

Proposed changes

reduce the copy constructor to call

Further comments

If this is a relatively large or complex change, kick off the discussion at [email protected] by explaining why you chose the solution you did and what alternatives you considered, etc...

@doris-robot
Copy link

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR

Since 2024-03-18, the Document has been moved to doris-website.
See Doris Document.

@HappenLee
Copy link
Contributor Author

run buildall

Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

yiguolei
yiguolei previously approved these changes Mar 28, 2024
@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Mar 28, 2024
Copy link
Contributor

PR approved by at least one committer and no changes requested.

Copy link
Contributor

PR approved by anyone and no changes requested.

@HappenLee
Copy link
Contributor Author

run buildall

@github-actions github-actions bot removed the approved Indicates a PR has been approved by one committer. label Mar 28, 2024
@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Mar 28, 2024
Copy link
Contributor

PR approved by at least one committer and no changes requested.

Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@doris-robot
Copy link

TPC-H: Total hot run time: 38502 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit c87381c074d79b9e21bb535c295dd61165bb7ba2, data reload: false

------ Round 1 ----------------------------------
q1	17657	4789	4156	4156
q2	2126	159	149	149
q3	10944	1205	1257	1205
q4	11047	790	845	790
q5	7590	3036	3064	3036
q6	211	128	124	124
q7	1033	618	592	592
q8	9690	2069	2050	2050
q9	7389	6766	6716	6716
q10	9363	3477	3564	3477
q11	439	236	221	221
q12	418	199	196	196
q13	17782	2907	2889	2889
q14	250	202	212	202
q15	522	468	466	466
q16	498	375	374	374
q17	970	501	619	501
q18	7283	6496	6473	6473
q19	2582	1419	1503	1419
q20	552	268	265	265
q21	3593	2911	2898	2898
q22	352	303	312	303
Total cold run time: 112291 ms
Total hot run time: 38502 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4161	4103	4100	4100
q2	328	231	227	227
q3	2981	2840	2867	2840
q4	1881	1579	1583	1579
q5	5330	5379	5353	5353
q6	200	121	119	119
q7	2264	1853	1884	1853
q8	3196	3314	3313	3313
q9	8745	8723	8790	8723
q10	3857	3758	3790	3758
q11	545	448	437	437
q12	735	558	554	554
q13	16900	2864	2838	2838
q14	288	246	253	246
q15	512	455	464	455
q16	487	422	423	422
q17	1734	1484	1482	1482
q18	7430	7164	7099	7099
q19	1601	1551	1525	1525
q20	1952	1741	1715	1715
q21	4857	4818	4704	4704
q22	539	458	467	458
Total cold run time: 70523 ms
Total hot run time: 53800 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 181206 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit c87381c074d79b9e21bb535c295dd61165bb7ba2, data reload: false

query1	940	375	344	344
query2	6538	1895	1865	1865
query3	6703	209	215	209
query4	32006	21263	21336	21263
query5	4283	396	398	396
query6	267	183	181	181
query7	4630	294	293	293
query8	230	189	190	189
query9	9113	2301	2272	2272
query10	560	255	250	250
query11	17424	14182	14196	14182
query12	139	92	85	85
query13	1621	419	420	419
query14	9834	7384	7941	7384
query15	249	194	197	194
query16	8241	259	257	257
query17	2016	589	561	561
query18	2118	291	300	291
query19	341	151	157	151
query20	100	90	89	89
query21	208	130	127	127
query22	5022	4802	4756	4756
query23	33716	32816	32853	32816
query24	11997	2869	2895	2869
query25	653	388	393	388
query26	1822	155	155	155
query27	3174	357	362	357
query28	7692	1877	1914	1877
query29	1057	660	614	614
query30	304	149	150	149
query31	963	705	728	705
query32	95	60	57	57
query33	763	252	243	243
query34	1130	488	480	480
query35	835	625	611	611
query36	1022	880	886	880
query37	275	64	66	64
query38	3624	3503	3444	3444
query39	1482	1508	1444	1444
query40	291	114	115	114
query41	50	48	48	48
query42	104	93	95	93
query43	470	445	443	443
query44	1178	722	731	722
query45	270	264	264	264
query46	1114	690	693	690
query47	1917	1875	1845	1845
query48	441	374	351	351
query49	1240	344	346	344
query50	765	368	368	368
query51	6697	6638	6621	6621
query52	110	91	86	86
query53	347	270	277	270
query54	329	248	242	242
query55	89	78	80	78
query56	246	229	227	227
query57	1204	1142	1161	1142
query58	239	207	206	206
query59	2725	2543	2532	2532
query60	269	250	255	250
query61	114	115	113	113
query62	652	444	460	444
query63	303	271	274	271
query64	6761	3957	3960	3957
query65	3044	3023	3019	3019
query66	1446	390	362	362
query67	15545	15043	14849	14849
query68	8813	542	561	542
query69	641	377	383	377
query70	1274	1107	1152	1107
query71	522	258	262	258
query72	6354	2692	2533	2533
query73	1141	313	316	313
query74	6889	6477	6416	6416
query75	3931	2207	2254	2207
query76	5406	877	841	841
query77	652	265	250	250
query78	11071	10133	10084	10084
query79	9933	534	518	518
query80	1667	381	371	371
query81	519	210	212	210
query82	751	90	88	88
query83	222	142	144	142
query84	281	82	75	75
query85	1485	317	309	309
query86	420	291	313	291
query87	3775	3504	3512	3504
query88	4540	2301	2294	2294
query89	520	356	369	356
query90	2079	176	177	176
query91	168	140	136	136
query92	63	49	47	47
query93	6900	508	490	490
query94	1318	178	172	172
query95	451	325	326	325
query96	611	272	277	272
query97	2647	2522	2512	2512
query98	231	221	201	201
query99	1262	927	956	927
Total cold run time: 317684 ms
Total hot run time: 181206 ms

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 35.63% (8836/24801)
Line Coverage: 27.34% (72390/264823)
Region Coverage: 26.56% (37541/141356)
Branch Coverage: 23.36% (19146/81948)
Coverage Report: http://coverage.selectdb-in.cc/coverage/c87381c074d79b9e21bb535c295dd61165bb7ba2_c87381c074d79b9e21bb535c295dd61165bb7ba2/report/index.html

@doris-robot
Copy link

Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'

Load test result on commit c87381c074d79b9e21bb535c295dd61165bb7ba2 with default session variables
Stream load json:         18 seconds loaded 2358488459 Bytes, about 124 MB/s
Stream load orc:          58 seconds loaded 1101869774 Bytes, about 18 MB/s
Stream load parquet:      33 seconds loaded 861443392 Bytes, about 24 MB/s
Insert into select:       14.3 seconds inserted 10000000 Rows, about 699K ops/s

@yiguolei yiguolei merged commit d3a9bf3 into apache:master Mar 28, 2024
26 of 31 checks passed
Jibing-Li added a commit that referenced this pull request Mar 29, 2024
* [fix](merge cloud) Fix cloud be set be tag map (#32864)

* [chore] Add gavinchou to collaborators (#32881)

* [chore](show) support statement to show views from table (#32358)

MySQL [test]> show views;
+----------------+
| Tables_in_test |
+----------------+
| t1_view        |
| t2_view        |
+----------------+
2 rows in set (0.00 sec)

MySQL [test]> show views like '%t1%';
+----------------+
| Tables_in_test |
+----------------+
| t1_view        |
+----------------+
1 row in set (0.01 sec)

MySQL [test]> show views where create_time > '2024-03-18';
+----------------+
| Tables_in_test |
+----------------+
| t2_view        |
+----------------+
1 row in set (0.02 sec)

* [Enhancement](ranger) Disable some permission operations when Ranger or LDAP are enabled (#32538)

Disable some permission operations when Ranger or LDAP are enabled.

* [chore](ci) exclude unstable trino_connector case (#32892)

Co-authored-by: stephen <[email protected]>

* [fix](Nereids) NPE when create table with implicit index type (#32893)

* [improvement](mtmv) Support more join types for query rewriting by materialized view (#32685)

This pattern of rewriting is supported for multi-table joins and supported join types is as following:

INNER JOIN
LEFT OUTER JOIN
RIGHT OUTER JOIN
FULL OUTER JOIN
LEFT SEMI JOIN
RIGHT SEMI JOIN
LEFT ANTI JOIN
RIGHT ANTI JOIN

* [Serde](Variant) support arrow serialization for varint type (#32780)

* [fix](multicatalog) fix no data error when read hive table on cosn (#32815)

Currently, when reading a hive on cosn table, doris return empty result, but the table has data.
iceberg on cosn is ok.
The reason is misuse of cosn's file sytem. according to cosn's doc, its fs.cosn.impl should be org.apache.hadoop.fs.CosFileSystem

* [fix](nereids)EliminateGroupByConstant should replace agg's output after removing constant group by keys (#32878)

* [Fix](executor)Fix regression test for test_active_queries/test_backend_active_tasks #32899

* [fix](iceberg) fix iceberg catalog bug and p2 test cases (#32898)

1. Fix iceberg catalog bug

    This PR #30198 change the logic of `IcebergHMSExternalCatalog.java`,
    to get locationUrl by calling hive metastore's `getCatalog()` method.
    But this method only exists in hive 3+. So it will fail if we using hive 2.x.

    I temporary remove this logic, because this logic is only used from iceberg table writing.
    Which is still under development. We will rethink this logic later.

2. Fix test cases

    Some of P2 test cases missed `order_qt`. And because the output format of the floating point
    type is changed, some result in `out` files need to be regenerated.

* [revert](jni) revert part of #32455 (#32904)

* [fix](spill) Avoid releasing resources while spill tasks are executing (#32783)

* [chore](log) print query id before logging profile in be.INFO (#32922)

* [fix](grace-exit) Stop incorrectly of reportwork cause heap use after free #32929

* [improvement](decommission be) decommission check replica num (#32748)

* [fix](arrow-flight) Fix reach limit of connections error (#32911)

Fix Reach limit of connections error
in fe.conf , arrow_flight_token_cache_size is mandatory less than qe_max_connection/2. arrow flight sql is a stateless protocol, connection is usually not actively disconnected, bearer token is evict from the cache will unregister ConnectContext.

Fix ConnectContext.command not be reset to COM_SLEEP in time, this will result in frequent kill connection after query timeout.

Fix bearer token evict log and exception.

TODO: use arrow flight session: https://mail.google.com/mail/u/0/#inbox/FMfcgzGxRdxBLQLTcvvtRpqsvmhrHpdH

* [bugfix](cloud) few variable not initialized (#32868)

../../cloud/src/recycler/meta_checker.cpp
can cause uninitialised memory read.

* [fix](arrow-flight) Fix arrow flight sql compatible with JDK 17 and upgrade arrow 15.0.2 (#32796)

--add-opens=java.base/java.nio=ALL-UNNAMED, see: https://arrow.apache.org/docs/java/install.html#java-compatibility
groovy use flight sql connection to execute query SUM(MAX(c1) OVER (PARTITION BY)) report error: AGGREGATE clause must not contain analytic expressions, but no problem in Java execute it with jdbc::arrow-flight-sql.
groovy not support print arrow array type, throw IndexOutOfBoundsException.
"arrow_flight_sql" not support two phase read
./run-regression-test.sh --run --clean -g arrow_flight_sql

* [fix](spill) SpillStream's writer maybe may not have been finalized (#32931)

* [improvement](spill) Disable DistinctStreamingAgg when spill is enabled (#32932)

* [Improve](inverted_index) update clucene and improve array inverted index writer  (#32436)

* [Performance](exec) replace SipHash in function by XXHash (#32919)

* [feature](agg) add aggregate function sum0 (#32541)

* [improvement](mtmv) Support to get tables in materialized view when collecting table in plan (#32797)

Support to get tables in materialized view when collecting table in plan

table scehma as fllowing:

create materialized view mv1
BUILD IMMEDIATE REFRESH COMPLETE ON MANUAL
DISTRIBUTED BY RANDOM BUCKETS 1 
PROPERTIES ('replication_num' = '1')
 as 
select 
  t1.c1, 
  t3.c2 
from 
  table1 t1 
  inner join table3 t3 on t1.c1 = t3.c2

if get table from the plan as follwoing, we can get [table1, table3, table2], the mv1 is expanded to get base tables;

SELECT 
  mv1.*, 
  uuid() 
FROM 
  mv1 LEFT SEMI 
  JOIN table2 ON mv1.c1 = table2.c1 
WHERE 
  mv1.c1 IN (
    SELECT 
      c1 
    FROM 
      table2
  ) 
  OR mv1.c1 < 10

* [enhance](mtmv)support olap table partition column is null (#32698)

* [enhancement](cloud) add table version to cloud (#32738)

Add table version to cloud.

In Fe:
Get: If Fe is cloud mode, get table version from meta service.
Update: Op drop/replace temp partition, commit transaction.

In meta service:
Add: create Index. init value is 1.
Remove: by recycler.
Update: commit/drop partition rpc, commit txn rpc. Atomic++.

* [fix](cloud) schema change from not null to null (#32913)

1. Use equals instead of == for type comparing
2. null bitmap size is reisze by size of ref column.

* [feature](Nereids): add ColumnPruningPostProcessor. (#32800)

* [case](rowpolicy)fix row policy has been exist (#32880)

* [fix](pipeline) fix use error row desc when origin block clear (#32803)

* [fix](Nereids) support variant column with index when create table (#32948)

* [opt](Nereids) support create table with variant type (#32953)

* [test](insert-overwrite) Add insert overwrite auto detect concurrency cases (#32935)

* [fix](compile) fe cannot compile in idea (#32955)

* [enhancement](plsql) Support select * from routines (#32866)

Support show of plsql procedure using select * from routines.

* [fix](trino-connector) fix `NoClassDefFoundError` of hudi `Utils` class (#32846)

Due to the change of this PR #32455 , the `trino-connector-scanner` package cannot access the `hudi_scanner` package, so the exception NoclassDeffounderror will appear.

We need to write a separate Utils class.

* [exec](column) change some complex column move to noexcept (#32954)

* [Enhancement](data skew) extends show data skew (#32732)

* [chore](test) let suite compatible with Nereids (#32964)

* Support identical column name in different index. (#32792)

* Limit the max string length to 1024 while collecting column stats to control BE memory usage. (#32470)

* [fix](merge-iterator) fix NOT_IMPLEMENTED_ERROR when read next block view (#32961)

* [improvement](executor)Add tag property for workload group #32874

* [fix](auth)unified workload and resource permission logic (#32907)

- `Grant resource` can no longer grant global `usage_priv`
-  `grant resource %` instead of `grant resource *`

before change:
```
grant usage_priv on resource * to f;
show grants for f\G
*************************** 1. row ***************************
      UserIdentity: 'f'@'%'
           Comment: 
          Password: No
             Roles: 
       GlobalPrivs: Usage_priv 
      CatalogPrivs: NULL
     DatabasePrivs: internal.information_schema: Select_priv ; internal.mysql: Select_priv 
        TablePrivs: NULL
          ColPrivs: NULL
     ResourcePrivs: NULL
 CloudClusterPrivs: NULL
WorkloadGroupPrivs: normal: Usage_priv 
```
after change
```
grant usage_priv on resource '%' to f;
show grants for f\G
*************************** 1. row ***************************
      UserIdentity: 'f'@'%'
           Comment: 
          Password: No
             Roles: 
       GlobalPrivs: NULL
      CatalogPrivs: NULL
     DatabasePrivs: internal.information_schema: Select_priv ; internal.mysql: Select_priv 
        TablePrivs: NULL
          ColPrivs: NULL
     ResourcePrivs: %: Usage_priv 
 CloudClusterPrivs: NULL
WorkloadGroupPrivs: normal: Usage_priv 

```

---------

Co-authored-by: yujun <[email protected]>
Co-authored-by: Gavin Chou <[email protected]>
Co-authored-by: xy720 <[email protected]>
Co-authored-by: yongjinhou <[email protected]>
Co-authored-by: Dongyang Li <[email protected]>
Co-authored-by: stephen <[email protected]>
Co-authored-by: morrySnow <[email protected]>
Co-authored-by: seawinde <[email protected]>
Co-authored-by: lihangyu <[email protected]>
Co-authored-by: Yulei-Yang <[email protected]>
Co-authored-by: starocean999 <[email protected]>
Co-authored-by: wangbo <[email protected]>
Co-authored-by: Mingyu Chen <[email protected]>
Co-authored-by: Jerry Hu <[email protected]>
Co-authored-by: zhiqiang <[email protected]>
Co-authored-by: Xinyi Zou <[email protected]>
Co-authored-by: Vallish Pai <[email protected]>
Co-authored-by: amory <[email protected]>
Co-authored-by: HappenLee <[email protected]>
Co-authored-by: Jensen <[email protected]>
Co-authored-by: zhangdong <[email protected]>
Co-authored-by: Yongqiang YANG <[email protected]>
Co-authored-by: jakevin <[email protected]>
Co-authored-by: Mryange <[email protected]>
Co-authored-by: zclllyybb <[email protected]>
Co-authored-by: Tiewei Fang <[email protected]>
Co-authored-by: Xin Liao <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by one committer. reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants