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

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

Merged
merged 1 commit into from
Mar 27, 2024

Conversation

morrySnow
Copy link
Contributor

Proposed changes

Issue Number: close #xxx

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.

@morrySnow morrySnow marked this pull request as ready for review March 27, 2024 07:58
@morrySnow
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17616	4216	4076	4076
q2	2100	161	168	161
q3	10568	1182	1176	1176
q4	10252	763	715	715
q5	7443	2982	2965	2965
q6	198	129	121	121
q7	994	597	567	567
q8	9328	1954	1939	1939
q9	7070	6543	6550	6543
q10	8454	3462	3549	3462
q11	431	225	221	221
q12	402	195	192	192
q13	17798	2866	2876	2866
q14	237	197	214	197
q15	532	463	471	463
q16	491	380	385	380
q17	941	522	603	522
q18	7085	6547	6422	6422
q19	3099	1448	1483	1448
q20	545	255	252	252
q21	3613	2990	2876	2876
q22	335	303	306	303
Total cold run time: 109532 ms
Total hot run time: 37867 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4123	4047	4069	4047
q2	322	232	232	232
q3	2946	2841	2798	2798
q4	1794	1538	1567	1538
q5	5333	5359	5347	5347
q6	195	114	115	114
q7	2244	1893	1875	1875
q8	3187	3243	3279	3243
q9	8661	8628	8705	8628
q10	3739	3810	3794	3794
q11	540	442	443	442
q12	713	554	523	523
q13	16934	2890	2837	2837
q14	297	246	255	246
q15	494	445	459	445
q16	488	425	436	425
q17	1716	1506	1491	1491
q18	7476	7222	6998	6998
q19	1589	1477	1571	1477
q20	1905	1727	1730	1727
q21	4742	4623	4891	4623
q22	516	456	451	451
Total cold run time: 69954 ms
Total hot run time: 53301 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 183136 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 f9c236ce757e173bbac1bab9e39240f3439cbcfe, data reload: false

query1	925	372	353	353
query2	6523	2023	1950	1950
query3	6698	211	226	211
query4	31936	21523	21597	21523
query5	4308	411	402	402
query6	269	180	182	180
query7	4624	304	294	294
query8	230	173	180	173
query9	9603	2341	2346	2341
query10	564	266	277	266
query11	15621	14679	15012	14679
query12	149	94	93	93
query13	1720	441	425	425
query14	11273	8171	7713	7713
query15	285	210	200	200
query16	9439	275	269	269
query17	2800	1095	569	569
query18	3554	290	288	288
query19	365	161	169	161
query20	97	91	94	91
query21	212	129	133	129
query22	4961	4816	4806	4806
query23	33762	32771	32727	32727
query24	10561	2894	2883	2883
query25	619	401	400	400
query26	1208	163	163	163
query27	2514	353	359	353
query28	7179	1919	1901	1901
query29	890	655	632	632
query30	296	149	151	149
query31	972	738	739	738
query32	90	59	58	58
query33	782	259	245	245
query34	1070	502	498	498
query35	822	626	619	619
query36	1038	935	909	909
query37	127	66	67	66
query38	3644	3413	3420	3413
query39	1478	1450	1437	1437
query40	219	115	114	114
query41	51	46	47	46
query42	104	100	100	100
query43	510	478	476	476
query44	1107	769	732	732
query45	282	275	270	270
query46	1131	714	715	714
query47	1904	1825	1847	1825
query48	457	366	355	355
query49	1109	342	350	342
query50	768	384	378	378
query51	6654	6634	6536	6536
query52	110	94	94	94
query53	351	278	285	278
query54	318	253	257	253
query55	87	78	80	78
query56	249	228	233	228
query57	1219	1127	1136	1127
query58	237	207	212	207
query59	2893	2695	2679	2679
query60	272	250	256	250
query61	145	130	118	118
query62	665	446	445	445
query63	306	282	288	282
query64	5742	4172	4014	4014
query65	3103	3049	3042	3042
query66	879	376	357	357
query67	15470	14947	15145	14947
query68	7512	531	534	531
query69	646	407	397	397
query70	1253	1123	1172	1123
query71	551	274	265	265
query72	6466	2754	2571	2571
query73	742	316	313	313
query74	6847	6424	6397	6397
query75	4008	2266	2295	2266
query76	5144	916	885	885
query77	856	261	259	259
query78	10917	10089	10128	10089
query79	10704	537	543	537
query80	1258	375	380	375
query81	500	218	223	218
query82	243	85	86	85
query83	198	143	142	142
query84	286	78	78	78
query85	1139	329	308	308
query86	364	303	280	280
query87	3781	3548	3571	3548
query88	5047	2315	2291	2291
query89	480	382	369	369
query90	2182	178	182	178
query91	170	135	164	135
query92	58	48	49	48
query93	6360	499	487	487
query94	1402	185	176	176
query95	445	343	334	334
query96	611	267	272	267
query97	2659	2500	2479	2479
query98	230	214	213	213
query99	1144	898	943	898
Total cold run time: 313753 ms
Total hot run time: 183136 ms

@doris-robot
Copy link

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

Load test result on commit f9c236ce757e173bbac1bab9e39240f3439cbcfe with default session variables
Stream load json:         19 seconds loaded 2358488459 Bytes, about 118 MB/s
Stream load orc:          58 seconds loaded 1101869774 Bytes, about 18 MB/s
Stream load parquet:      32 seconds loaded 861443392 Bytes, about 25 MB/s
Insert into select:       13.8 seconds inserted 10000000 Rows, about 724K ops/s

Copy link
Contributor

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

@github-actions github-actions bot added approved Indicates a PR has been approved by one committer. reviewed labels Mar 27, 2024
Copy link
Contributor

PR approved by anyone and no changes requested.

@morrySnow morrySnow merged commit 22b8038 into apache:master Mar 27, 2024
28 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]>
@morrySnow morrySnow deleted the fix_index_create_npe branch April 30, 2024 06:22
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