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](meta) fix catalog replay error #35532

Merged
merged 1 commit into from
May 30, 2024

Conversation

morningman
Copy link
Contributor

Proposed changes

Caused by: java.lang.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) ~[?:1.8.0_301]
    at org.apache.doris.catalog.ResourceMgr.getResource(ResourceMgr.java:166) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.CatalogProperty.catalogResource(CatalogProperty.java:67) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.CatalogProperty.getOrDefault(CatalogProperty.java:77) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.ExternalCatalog.setDefaultPropsIfMissing(ExternalCatalog.java:173) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.hive.HMSExternalCatalog.setDefaultPropsIfMissing(HMSExternalCatalog.java:238) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.ExternalCatalog.gsonPostProcess(ExternalCatalog.java:687) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.persist.gson.GsonUtils$PostProcessTypeAdapterFactory$1.read(GsonUtils.java:640) ~[doris-fe.jar:1.2-SNAPSHOT]
    at com.google.gson.TypeAdapter.fromJsonTree(TypeAdapter.java:299) ~[gson-2.10.1.jar:?]
    at org.apache.doris.persist.gson.RuntimeTypeAdapterFactory$1.read(RuntimeTypeAdapterFactory.java:289) ~[doris-fe.jar:1.2-SNAPSHOT]

Introduced from #33610.
When read meta image, the resource maybe null, we should ignore it.

Further comments

If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org 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.

@morningman
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17614	4478	4229	4229
q2	2013	191	192	191
q3	10457	1259	1268	1259
q4	10422	748	754	748
q5	7467	2634	2650	2634
q6	217	134	141	134
q7	961	611	619	611
q8	9235	2117	2084	2084
q9	9498	6740	6775	6740
q10	9889	3897	3876	3876
q11	460	255	252	252
q12	544	220	221	220
q13	17765	3185	3283	3185
q14	252	208	211	208
q15	515	479	481	479
q16	484	401	390	390
q17	955	662	651	651
q18	8460	7808	7759	7759
q19	6579	1507	1539	1507
q20	670	337	331	331
q21	5306	3286	4468	3286
q22	370	309	290	290
Total cold run time: 120133 ms
Total hot run time: 41064 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4701	4517	4573	4517
q2	380	287	278	278
q3	3282	3075	3059	3059
q4	2003	1661	1669	1661
q5	5375	5511	5497	5497
q6	216	128	127	127
q7	2192	1835	1834	1834
q8	3254	3477	3422	3422
q9	8555	8618	8699	8618
q10	4008	3794	3678	3678
q11	587	494	509	494
q12	771	618	635	618
q13	16288	3144	3182	3144
q14	301	285	266	266
q15	529	481	475	475
q16	488	443	444	443
q17	1816	1525	1501	1501
q18	8032	7620	7352	7352
q19	2330	1594	1584	1584
q20	2039	1777	1788	1777
q21	14310	4625	4681	4625
q22	557	481	506	481
Total cold run time: 82014 ms
Total hot run time: 55451 ms
@doris-robot
Copy link

TPC-DS: Total hot run time: 173153 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 8985ef1af9a88ef8dd90dd56229c20a870c4976c, data reload: false

query1	940	383	381	381
query2	6434	2407	2468	2407
query3	6646	207	207	207
query4	19508	17398	17359	17359
query5	4266	420	412	412
query6	250	163	155	155
query7	4591	306	293	293
query8	243	179	183	179
query9	8463	2437	2420	2420
query10	442	281	265	265
query11	10671	10256	10220	10220
query12	133	90	93	90
query13	1635	373	382	373
query14	10088	7572	7614	7572
query15	227	167	173	167
query16	7765	298	254	254
query17	1385	516	504	504
query18	1966	285	273	273
query19	190	149	149	149
query20	91	88	83	83
query21	202	149	127	127
query22	4454	4117	4093	4093
query23	33702	32929	32883	32883
query24	10837	2808	2795	2795
query25	568	352	373	352
query26	710	156	154	154
query27	2270	329	318	318
query28	5836	2088	2090	2088
query29	854	596	614	596
query30	243	149	147	147
query31	957	744	743	743
query32	101	56	54	54
query33	663	265	260	260
query34	888	482	476	476
query35	741	615	603	603
query36	1082	883	903	883
query37	106	65	70	65
query38	2909	2838	2758	2758
query39	853	793	781	781
query40	199	125	122	122
query41	45	43	42	42
query42	106	93	97	93
query43	591	569	577	569
query44	1105	726	746	726
query45	175	157	159	157
query46	1064	720	717	717
query47	1896	1782	1781	1781
query48	377	303	303	303
query49	840	371	377	371
query50	772	384	399	384
query51	6770	6773	6659	6659
query52	96	90	92	90
query53	348	289	279	279
query54	818	438	430	430
query55	75	69	73	69
query56	262	245	250	245
query57	1105	1075	1069	1069
query58	272	202	223	202
query59	3512	3243	3512	3243
query60	272	256	275	256
query61	91	90	89	89
query62	623	460	468	460
query63	312	282	284	282
query64	8522	2222	1697	1697
query65	3161	3090	3124	3090
query66	766	329	316	316
query67	15085	14981	14934	14934
query68	4495	554	548	548
query69	438	272	266	266
query70	1185	1071	1048	1048
query71	420	269	273	269
query72	7499	5546	5244	5244
query73	729	335	325	325
query74	6079	5626	5595	5595
query75	3426	2636	2646	2636
query76	2898	971	995	971
query77	379	265	263	263
query78	10233	9931	9725	9725
query79	2558	522	512	512
query80	905	457	442	442
query81	545	220	223	220
query82	733	94	93	93
query83	240	177	170	170
query84	249	87	86	86
query85	1390	280	259	259
query86	434	307	322	307
query87	3355	3114	3110	3110
query88	4156	2438	2435	2435
query89	475	387	381	381
query90	2033	188	189	188
query91	135	108	107	107
query92	59	50	51	50
query93	1767	519	508	508
query94	1260	195	194	194
query95	418	399	306	306
query96	582	263	267	263
query97	3164	2990	3000	2990
query98	260	225	215	215
query99	1168	824	813	813
Total cold run time: 266837 ms
Total hot run time: 173153 ms
@doris-robot
Copy link

ClickBench: Total hot run time: 30.88 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 8985ef1af9a88ef8dd90dd56229c20a870c4976c, data reload: false

query1	0.04	0.04	0.04
query2	0.08	0.04	0.04
query3	0.24	0.05	0.05
query4	1.66	0.10	0.09
query5	0.49	0.49	0.51
query6	1.14	0.72	0.72
query7	0.02	0.02	0.02
query8	0.05	0.04	0.05
query9	0.53	0.49	0.49
query10	0.54	0.55	0.54
query11	0.15	0.12	0.12
query12	0.14	0.12	0.12
query13	0.59	0.59	0.60
query14	0.80	0.78	0.77
query15	0.83	0.81	0.81
query16	0.36	0.36	0.38
query17	0.92	0.99	1.00
query18	0.23	0.24	0.27
query19	1.78	1.81	1.69
query20	0.01	0.01	0.01
query21	15.65	0.66	0.65
query22	4.33	7.27	2.32
query23	18.30	1.35	1.27
query24	1.91	0.23	0.21
query25	0.15	0.08	0.08
query26	0.26	0.17	0.16
query27	0.08	0.07	0.07
query28	13.34	1.00	1.00
query29	13.76	3.30	3.26
query30	0.24	0.08	0.07
query31	2.83	0.38	0.37
query32	3.30	0.46	0.46
query33	2.86	2.91	2.87
query34	16.93	4.39	4.44
query35	4.52	4.43	4.56
query36	0.66	0.46	0.47
query37	0.17	0.16	0.16
query38	0.16	0.14	0.14
query39	0.04	0.04	0.04
query40	0.16	0.15	0.14
query41	0.09	0.04	0.05
query42	0.05	0.04	0.05
query43	0.03	0.03	0.03
Total cold run time: 110.42 s
Total hot run time: 30.88 s
@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label May 29, 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.

@@ -163,6 +163,11 @@ public boolean containsResource(String name) {
}

public Resource getResource(String name) {
// nameToResource == null iff this is in replay thread
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

iff ==>if

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a typo, iff means if and only if

@morningman morningman merged commit 3ad78f9 into apache:master May 30, 2024
32 of 36 checks passed
morningman added a commit to morningman/doris that referenced this pull request May 30, 2024
```
Caused by: java.lang.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) ~[?:1.8.0_301]
    at org.apache.doris.catalog.ResourceMgr.getResource(ResourceMgr.java:166) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.CatalogProperty.catalogResource(CatalogProperty.java:67) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.CatalogProperty.getOrDefault(CatalogProperty.java:77) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.ExternalCatalog.setDefaultPropsIfMissing(ExternalCatalog.java:173) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.hive.HMSExternalCatalog.setDefaultPropsIfMissing(HMSExternalCatalog.java:238) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.ExternalCatalog.gsonPostProcess(ExternalCatalog.java:687) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.persist.gson.GsonUtils$PostProcessTypeAdapterFactory$1.read(GsonUtils.java:640) ~[doris-fe.jar:1.2-SNAPSHOT]
    at com.google.gson.TypeAdapter.fromJsonTree(TypeAdapter.java:299) ~[gson-2.10.1.jar:?]
    at org.apache.doris.persist.gson.RuntimeTypeAdapterFactory$1.read(RuntimeTypeAdapterFactory.java:289) ~[doris-fe.jar:1.2-SNAPSHOT]
```

Introduced from apache#33610.
When read meta image, the `resource` maybe null, we should ignore it.
yiguolei pushed a commit that referenced this pull request May 30, 2024
```
Caused by: java.lang.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) ~[?:1.8.0_301]
    at org.apache.doris.catalog.ResourceMgr.getResource(ResourceMgr.java:166) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.CatalogProperty.catalogResource(CatalogProperty.java:67) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.CatalogProperty.getOrDefault(CatalogProperty.java:77) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.ExternalCatalog.setDefaultPropsIfMissing(ExternalCatalog.java:173) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.hive.HMSExternalCatalog.setDefaultPropsIfMissing(HMSExternalCatalog.java:238) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.ExternalCatalog.gsonPostProcess(ExternalCatalog.java:687) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.persist.gson.GsonUtils$PostProcessTypeAdapterFactory$1.read(GsonUtils.java:640) ~[doris-fe.jar:1.2-SNAPSHOT]
    at com.google.gson.TypeAdapter.fromJsonTree(TypeAdapter.java:299) ~[gson-2.10.1.jar:?]
    at org.apache.doris.persist.gson.RuntimeTypeAdapterFactory$1.read(RuntimeTypeAdapterFactory.java:289) ~[doris-fe.jar:1.2-SNAPSHOT]
```

Introduced from #33610.
When read meta image, the `resource` maybe null, we should ignore it.
dataroaring pushed a commit that referenced this pull request May 31, 2024
```
Caused by: java.lang.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) ~[?:1.8.0_301]
    at org.apache.doris.catalog.ResourceMgr.getResource(ResourceMgr.java:166) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.CatalogProperty.catalogResource(CatalogProperty.java:67) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.CatalogProperty.getOrDefault(CatalogProperty.java:77) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.ExternalCatalog.setDefaultPropsIfMissing(ExternalCatalog.java:173) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.hive.HMSExternalCatalog.setDefaultPropsIfMissing(HMSExternalCatalog.java:238) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.datasource.ExternalCatalog.gsonPostProcess(ExternalCatalog.java:687) ~[doris-fe.jar:1.2-SNAPSHOT]
    at org.apache.doris.persist.gson.GsonUtils$PostProcessTypeAdapterFactory$1.read(GsonUtils.java:640) ~[doris-fe.jar:1.2-SNAPSHOT]
    at com.google.gson.TypeAdapter.fromJsonTree(TypeAdapter.java:299) ~[gson-2.10.1.jar:?]
    at org.apache.doris.persist.gson.RuntimeTypeAdapterFactory$1.read(RuntimeTypeAdapterFactory.java:289) ~[doris-fe.jar:1.2-SNAPSHOT]
```

Introduced from #33610.
When read meta image, the `resource` maybe null, we should ignore it.
@morningman morningman mentioned this pull request Jun 1, 2024
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. dev/2.0.11-merged dev/2.1.4-merged p0_b reviewed
4 participants