Skip to content

[fix](es-catalog) Fix query error when ES keyword field contains array data#61236

Merged
morningman merged 3 commits intoapache:masterfrom
morningman:fix/es-catalog-array-string-type
Mar 16, 2026
Merged

[fix](es-catalog) Fix query error when ES keyword field contains array data#61236
morningman merged 3 commits intoapache:masterfrom
morningman:fix/es-catalog-array-string-type

Conversation

@morningman
Copy link
Contributor

@morningman morningman commented Mar 11, 2026

What problem does this PR solve?

When an Elasticsearch field is mapped as keyword/text but the actual data stored is an array (which is valid in ES),
Doris was throwing: 'Expected value of type: STRING; but found type: Array'

This fix serializes the array to a JSON string representation instead of throwing an error,
which is consistent with how other non-string types (Numbers, Objects) are already handled.

Fixed two code paths in es_scroll_parser.cpp:

  1. fill_columns() - main _source parsing path
  2. handle_value() - array element processing path

Also added regression test and test data for this scenario.

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

@Thearas
Copy link
Contributor

Thearas commented Mar 11, 2026

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

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@morningman
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
============================================
q1	17708	4448	4294	4294
q2	q3	10644	797	518	518
q4	4680	372	250	250
q5	7543	1210	1021	1021
q6	173	176	144	144
q7	811	840	677	677
q8	9447	1428	1355	1355
q9	4865	4808	4675	4675
q10	6330	1900	1637	1637
q11	466	262	254	254
q12	739	568	477	477
q13	18060	2952	2196	2196
q14	226	237	212	212
q15	922	802	829	802
q16	761	729	680	680
q17	716	882	392	392
q18	5880	5416	5219	5219
q19	1120	989	622	622
q20	506	500	390	390
q21	4515	2135	1513	1513
q22	364	315	251	251
Total cold run time: 96476 ms
Total hot run time: 27579 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4782	4710	4568	4568
q2	q3	3840	4358	3852	3852
q4	881	1192	787	787
q5	4053	4405	4309	4309
q6	192	183	150	150
q7	1769	1640	1538	1538
q8	2474	2765	2578	2578
q9	7506	7299	7635	7299
q10	3814	4044	3605	3605
q11	511	434	409	409
q12	487	600	447	447
q13	2691	3281	2346	2346
q14	274	326	292	292
q15	889	852	818	818
q16	736	762	716	716
q17	1168	1367	1368	1367
q18	7344	6928	6574	6574
q19	984	945	925	925
q20	2082	2162	2048	2048
q21	4018	3430	3335	3335
q22	476	434	382	382
Total cold run time: 50971 ms
Total hot run time: 48345 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 153525 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 6fe4a68872b7006d1e363674a3cf039e8c901c2f, data reload: false

query5	4323	650	532	532
query6	328	226	202	202
query7	4217	480	264	264
query8	342	253	237	237
query9	8687	2736	2763	2736
query10	494	370	345	345
query11	7304	5827	5640	5640
query12	190	130	124	124
query13	1262	447	342	342
query14	5683	3877	3575	3575
query14_1	2826	2865	2828	2828
query15	206	199	175	175
query16	1001	491	466	466
query17	1108	725	612	612
query18	2446	443	349	349
query19	221	213	189	189
query20	139	126	130	126
query21	230	150	124	124
query22	4848	4956	4604	4604
query23	16049	15579	15364	15364
query23_1	15423	16389	15960	15960
query24	7599	1667	1327	1327
query24_1	1358	1280	1269	1269
query25	558	505	441	441
query26	1319	286	160	160
query27	3344	513	301	301
query28	4778	1972	1919	1919
query29	912	616	517	517
query30	330	250	228	228
query31	1430	1387	1329	1329
query32	92	76	70	70
query33	516	341	280	280
query34	937	910	565	565
query35	647	687	607	607
query36	1100	1135	987	987
query37	134	97	88	88
query38	3029	2948	2885	2885
query39	900	886	830	830
query39_1	847	832	826	826
query40	235	159	136	136
query41	63	61	60	60
query42	305	308	306	306
query43	253	245	222	222
query44	
query45	193	194	183	183
query46	886	981	629	629
query47	2112	2201	2042	2042
query48	334	316	235	235
query49	634	462	375	375
query50	698	286	217	217
query51	4193	4086	4119	4086
query52	292	291	291	291
query53	289	336	289	289
query54	301	271	259	259
query55	98	92	85	85
query56	316	322	325	322
query57	1381	1333	1258	1258
query58	296	273	283	273
query59	1331	1424	1259	1259
query60	354	353	318	318
query61	148	147	165	147
query62	656	592	535	535
query63	320	292	279	279
query64	4949	1270	1017	1017
query65	
query66	1468	485	351	351
query67	16383	16500	16372	16372
query68	
query69	398	304	285	285
query70	987	940	973	940
query71	342	316	303	303
query72	2824	2667	2431	2431
query73	551	567	322	322
query74	10023	9883	9758	9758
query75	2869	2763	2609	2609
query76	2301	1030	677	677
query77	372	401	313	313
query78	11194	11368	10742	10742
query79	1162	784	609	609
query80	702	622	582	582
query81	505	288	253	253
query82	1347	155	122	122
query83	381	275	256	256
query84	253	134	110	110
query85	936	552	521	521
query86	386	315	298	298
query87	3176	3154	3020	3020
query88	3630	2680	2665	2665
query89	430	378	342	342
query90	1967	188	185	185
query91	173	162	136	136
query92	85	76	67	67
query93	915	830	509	509
query94	448	326	299	299
query95	601	353	388	353
query96	651	530	229	229
query97	2453	2476	2436	2436
query98	232	225	222	222
query99	1031	997	916	916
Total cold run time: 233200 ms
Total hot run time: 153525 ms

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 0.00% (0/6) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.56% (19649/37384)
Line Coverage 36.18% (183314/506658)
Region Coverage 32.31% (141571/438112)
Branch Coverage 33.48% (61772/184509)

…y data

When an Elasticsearch field is mapped as keyword/text but the actual
data stored is an array (which is valid in ES), Doris was throwing:
'Expected value of type: STRING; but found type: Array'

This fix serializes the array to a JSON string representation instead
of throwing an error, which is consistent with how other non-string
types (Numbers, Objects) are already handled.

Fixed two code paths in es_scroll_parser.cpp:
1. fill_columns() - main _source parsing path
2. handle_value() - array element processing path

Also added regression test and test data for this scenario.
@morningman morningman force-pushed the fix/es-catalog-array-string-type branch from 6fe4a68 to a20f5bf Compare March 11, 2026 19:02
@morningman
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
============================================
q1	17684	4558	4289	4289
q2	q3	10649	766	501	501
q4	4675	343	247	247
q5	7556	1189	1013	1013
q6	169	175	146	146
q7	765	818	668	668
q8	9294	1447	1314	1314
q9	4773	4714	4735	4714
q10	6283	1893	1644	1644
q11	489	247	239	239
q12	753	566	465	465
q13	18034	2888	2182	2182
q14	227	224	221	221
q15	941	792	811	792
q16	745	715	664	664
q17	703	852	417	417
q18	5903	5504	5158	5158
q19	1125	1003	585	585
q20	485	481	397	397
q21	4555	1961	1556	1556
q22	370	330	277	277
Total cold run time: 96178 ms
Total hot run time: 27489 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4719	4540	4605	4540
q2	q3	3997	4332	3877	3877
q4	849	1179	770	770
q5	4048	4433	4310	4310
q6	189	179	140	140
q7	1760	1639	1526	1526
q8	2501	2689	2580	2580
q9	7504	7441	7262	7262
q10	3721	3960	3645	3645
q11	522	462	422	422
q12	499	623	513	513
q13	2826	3196	2398	2398
q14	288	315	273	273
q15	846	790	797	790
q16	714	746	715	715
q17	1112	1412	1375	1375
q18	7278	6835	6683	6683
q19	864	902	830	830
q20	2056	2133	2054	2054
q21	3940	3446	3305	3305
q22	469	437	371	371
Total cold run time: 50702 ms
Total hot run time: 48379 ms

@doris-robot
Copy link

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

query5	4316	644	514	514
query6	347	224	203	203
query7	4214	467	280	280
query8	340	235	227	227
query9	8670	2719	2723	2719
query10	531	392	357	357
query11	7366	5899	5571	5571
query12	181	137	122	122
query13	1271	444	351	351
query14	5722	3802	3531	3531
query14_1	2843	2772	2777	2772
query15	203	195	176	176
query16	1008	496	450	450
query17	925	702	585	585
query18	2432	422	338	338
query19	205	201	175	175
query20	135	129	123	123
query21	227	145	122	122
query22	4943	5054	4653	4653
query23	16659	16168	15885	15885
query23_1	15765	15781	15741	15741
query24	7482	1687	1250	1250
query24_1	1277	1310	1266	1266
query25	546	472	426	426
query26	1846	325	171	171
query27	2728	475	291	291
query28	4501	1870	1866	1866
query29	889	583	498	498
query30	317	237	211	211
query31	1333	1296	1224	1224
query32	87	75	78	75
query33	521	336	285	285
query34	924	914	572	572
query35	649	690	599	599
query36	1109	1122	1016	1016
query37	133	95	85	85
query38	2888	2939	2911	2911
query39	957	873	860	860
query39_1	836	817	822	817
query40	231	158	140	140
query41	68	66	62	62
query42	304	298	312	298
query43	243	253	229	229
query44	
query45	208	190	184	184
query46	879	993	621	621
query47	2114	2150	2026	2026
query48	318	315	239	239
query49	653	468	392	392
query50	704	286	215	215
query51	4174	4052	4014	4014
query52	287	293	287	287
query53	295	338	287	287
query54	313	291	277	277
query55	92	91	80	80
query56	337	338	314	314
query57	1351	1334	1299	1299
query58	301	294	287	287
query59	1378	1429	1309	1309
query60	352	358	369	358
query61	142	143	145	143
query62	633	577	533	533
query63	307	272	270	270
query64	5062	1237	971	971
query65	
query66	1453	457	352	352
query67	16310	16596	16260	16260
query68	
query69	381	301	277	277
query70	998	881	958	881
query71	344	307	299	299
query72	2836	2709	2442	2442
query73	532	552	314	314
query74	9954	9938	9775	9775
query75	2833	2741	2453	2453
query76	2271	1023	687	687
query77	360	387	312	312
query78	11175	11308	10634	10634
query79	2671	802	620	620
query80	1764	610	543	543
query81	567	281	249	249
query82	1007	151	113	113
query83	332	269	238	238
query84	296	123	97	97
query85	908	478	426	426
query86	408	315	305	305
query87	3115	3095	2986	2986
query88	3503	2633	2624	2624
query89	417	366	347	347
query90	2008	177	178	177
query91	164	153	143	143
query92	77	72	71	71
query93	1144	828	498	498
query94	630	322	309	309
query95	581	392	329	329
query96	642	530	223	223
query97	2479	2488	2395	2395
query98	231	217	223	217
query99	1017	1004	919	919
Total cold run time: 236486 ms
Total hot run time: 152669 ms

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 0.00% (0/6) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.56% (19649/37384)
Line Coverage 36.17% (183281/506658)
Region Coverage 32.30% (141528/438112)
Branch Coverage 33.47% (61754/184509)

Copy link
Contributor

@linrrzqqq linrrzqqq left a comment

Choose a reason for hiding this comment

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

Approved by OpenClaw assistant

@github-actions
Copy link
Contributor

PR approved by anyone and no changes requested.

linrrzqqq

This comment was marked as off-topic.

linrrzqqq

This comment was marked as off-topic.

@morningman
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
============================================
q1	17649	4551	4314	4314
q2	q3	10648	824	513	513
q4	4670	358	247	247
q5	7582	1196	1025	1025
q6	175	175	147	147
q7	813	843	679	679
q8	10037	1478	1333	1333
q9	5905	4794	4679	4679
q10	6341	1918	1633	1633
q11	446	271	244	244
q12	733	567	471	471
q13	18047	3010	2193	2193
q14	233	234	213	213
q15	949	812	811	811
q16	766	729	688	688
q17	712	852	413	413
q18	6066	5507	5246	5246
q19	1129	1018	621	621
q20	497	485	404	404
q21	4942	1922	1551	1551
q22	409	324	267	267
Total cold run time: 98749 ms
Total hot run time: 27692 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4825	4706	4612	4612
q2	q3	3922	4336	3825	3825
q4	874	1195	783	783
q5	4076	4395	4364	4364
q6	204	179	138	138
q7	1792	1685	1606	1606
q8	2495	2777	2566	2566
q9	7636	7375	7462	7375
q10	3809	4042	3732	3732
q11	520	440	418	418
q12	484	600	463	463
q13	2916	3195	2331	2331
q14	277	317	288	288
q15	897	830	814	814
q16	728	780	729	729
q17	1192	1477	1369	1369
q18	7203	6979	6646	6646
q19	926	989	932	932
q20	2090	2233	2009	2009
q21	4063	3514	3411	3411
q22	447	445	382	382
Total cold run time: 51376 ms
Total hot run time: 48793 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 153039 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 80df452a010e79c5d207b034f8045bb51d7e4bf0, data reload: false

query5	4320	618	523	523
query6	327	233	210	210
query7	4209	469	262	262
query8	334	257	246	246
query9	8713	2741	2732	2732
query10	493	407	330	330
query11	7259	5787	5658	5658
query12	181	126	127	126
query13	1257	458	341	341
query14	5754	3820	3642	3642
query14_1	2866	2826	2843	2826
query15	211	200	179	179
query16	970	497	467	467
query17	1027	716	624	624
query18	2452	450	363	363
query19	216	225	190	190
query20	137	128	132	128
query21	238	153	126	126
query22	4814	4864	4697	4697
query23	16698	16068	15763	15763
query23_1	16025	16094	15833	15833
query24	7493	1700	1287	1287
query24_1	1290	1261	1301	1261
query25	613	511	462	462
query26	1302	291	163	163
query27	2778	528	286	286
query28	4474	1862	1859	1859
query29	890	571	469	469
query30	313	239	210	210
query31	1346	1304	1225	1225
query32	83	73	75	73
query33	514	320	285	285
query34	922	917	552	552
query35	653	663	612	612
query36	1021	1117	984	984
query37	129	95	89	89
query38	2984	2946	2865	2865
query39	902	866	842	842
query39_1	826	846	819	819
query40	225	151	145	145
query41	60	61	58	58
query42	303	303	299	299
query43	249	247	218	218
query44	
query45	204	195	182	182
query46	874	975	616	616
query47	2149	2137	2008	2008
query48	318	312	239	239
query49	629	455	378	378
query50	686	283	213	213
query51	4134	4085	3991	3991
query52	289	295	282	282
query53	291	342	278	278
query54	305	282	270	270
query55	96	89	88	88
query56	327	323	311	311
query57	1383	1352	1291	1291
query58	292	278	270	270
query59	1378	1438	1312	1312
query60	340	341	323	323
query61	169	142	185	142
query62	636	594	544	544
query63	309	290	277	277
query64	5221	1273	993	993
query65	
query66	1454	459	370	370
query67	16381	16466	16289	16289
query68	
query69	415	306	288	288
query70	976	999	959	959
query71	342	314	301	301
query72	2859	2690	2309	2309
query73	583	543	322	322
query74	10017	9948	9797	9797
query75	2851	2756	2457	2457
query76	2293	1049	688	688
query77	362	386	306	306
query78	11238	11344	10642	10642
query79	2565	811	631	631
query80	1743	630	539	539
query81	565	278	243	243
query82	1008	152	119	119
query83	346	276	243	243
query84	267	118	100	100
query85	883	483	442	442
query86	464	366	295	295
query87	3225	3074	3031	3031
query88	3587	2671	2661	2661
query89	418	368	347	347
query90	2011	180	177	177
query91	170	159	145	145
query92	80	73	73	73
query93	1129	835	507	507
query94	638	336	310	310
query95	599	388	312	312
query96	640	513	230	230
query97	2511	2526	2414	2414
query98	248	240	229	229
query99	998	993	901	901
Total cold run time: 236371 ms
Total hot run time: 153039 ms

@morningman
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
============================================
q1	17600	4565	4313	4313
q2	q3	10640	782	508	508
q4	4683	367	262	262
q5	7555	1168	998	998
q6	173	178	151	151
q7	782	859	679	679
q8	9300	1451	1340	1340
q9	4713	4752	4714	4714
q10	6241	1890	1642	1642
q11	458	263	237	237
q12	690	578	479	479
q13	18061	2917	2188	2188
q14	229	236	218	218
q15	918	804	785	785
q16	749	725	661	661
q17	702	835	431	431
q18	5985	5375	5281	5281
q19	1258	986	615	615
q20	495	490	381	381
q21	4616	1945	1550	1550
q22	406	358	312	312
Total cold run time: 96254 ms
Total hot run time: 27745 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4771	4533	4485	4485
q2	q3	3844	4348	3822	3822
q4	869	1233	776	776
q5	4043	4397	4381	4381
q6	181	177	143	143
q7	1829	1657	1508	1508
q8	2484	2838	2589	2589
q9	7243	7468	7323	7323
q10	3785	3981	3682	3682
q11	520	440	463	440
q12	500	575	456	456
q13	2720	3180	2291	2291
q14	294	288	268	268
q15	860	790	803	790
q16	700	762	723	723
q17	1120	1397	1307	1307
q18	7282	6833	6621	6621
q19	886	847	901	847
q20	2067	2229	2023	2023
q21	3932	3449	3344	3344
q22	471	447	393	393
Total cold run time: 50401 ms
Total hot run time: 48212 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 153217 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 0b52b8d65a2951cd2b2a4a53df6fec6ee18be231, data reload: false

query5	4339	615	496	496
query6	333	228	221	221
query7	4243	473	256	256
query8	339	255	229	229
query9	8696	2771	2764	2764
query10	513	379	338	338
query11	7442	5864	5659	5659
query12	178	123	125	123
query13	1275	445	338	338
query14	6096	3782	3620	3620
query14_1	2825	2789	2809	2789
query15	204	192	179	179
query16	997	462	357	357
query17	1082	697	596	596
query18	2471	438	366	366
query19	209	198	176	176
query20	139	127	126	126
query21	229	150	125	125
query22	4874	4920	4883	4883
query23	16597	16145	15605	15605
query23_1	15851	15786	15943	15786
query24	7717	1703	1257	1257
query24_1	1255	1230	1239	1230
query25	560	492	432	432
query26	1240	265	161	161
query27	2774	470	293	293
query28	4501	1872	1867	1867
query29	837	579	512	512
query30	306	253	211	211
query31	1359	1291	1245	1245
query32	89	77	72	72
query33	522	341	303	303
query34	921	929	579	579
query35	659	678	633	633
query36	1093	1131	976	976
query37	137	104	86	86
query38	2933	2953	2927	2927
query39	878	873	845	845
query39_1	828	846	819	819
query40	229	155	143	143
query41	69	67	66	66
query42	316	329	304	304
query43	246	250	217	217
query44	
query45	203	193	193	193
query46	886	994	605	605
query47	2107	2121	2051	2051
query48	332	322	232	232
query49	652	468	398	398
query50	707	280	222	222
query51	4222	4039	4094	4039
query52	290	297	282	282
query53	298	349	288	288
query54	307	282	281	281
query55	99	88	89	88
query56	340	339	323	323
query57	1356	1347	1343	1343
query58	283	281	281	281
query59	1309	1453	1286	1286
query60	351	334	305	305
query61	146	149	145	145
query62	629	588	539	539
query63	310	282	286	282
query64	4977	1271	1001	1001
query65	
query66	1472	443	357	357
query67	16354	16596	16276	16276
query68	
query69	394	317	292	292
query70	961	973	969	969
query71	354	310	314	310
query72	2874	2655	2437	2437
query73	539	545	319	319
query74	9977	9975	9757	9757
query75	2864	2774	2462	2462
query76	2342	1033	647	647
query77	382	381	321	321
query78	11202	11384	10649	10649
query79	1124	799	586	586
query80	1048	631	545	545
query81	546	275	242	242
query82	1352	149	119	119
query83	343	279	262	262
query84	251	116	100	100
query85	887	488	463	463
query86	386	339	333	333
query87	3146	3120	3039	3039
query88	3512	2697	2665	2665
query89	428	375	355	355
query90	1873	177	179	177
query91	167	165	136	136
query92	78	76	74	74
query93	911	802	512	512
query94	504	332	295	295
query95	577	344	324	324
query96	629	517	231	231
query97	2444	2471	2425	2425
query98	236	218	220	218
query99	1004	996	914	914
Total cold run time: 234409 ms
Total hot run time: 153217 ms

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.66% (19726/37458)
Line Coverage 36.24% (184272/508425)
Region Coverage 32.37% (142294/439553)
Branch Coverage 33.57% (62192/185264)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100% (0/0) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 73.34% (26889/36661)
Line Coverage 56.66% (287090/506687)
Region Coverage 54.00% (239557/443587)
Branch Coverage 55.68% (103416/185736)

@github-actions
Copy link
Contributor

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

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

@kaka11chen kaka11chen left a comment

Choose a reason for hiding this comment

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

LGTM

@morningman morningman merged commit b085187 into apache:master Mar 16, 2026
28 of 30 checks passed
github-actions bot pushed a commit that referenced this pull request Mar 16, 2026
…y data (#61236)

### What problem does this PR solve?

When an Elasticsearch field is mapped as keyword/text but the actual
data stored is an array (which is valid in ES),
Doris was throwing: 'Expected value of type: STRING; but found type:
Array'

This fix serializes the array to a JSON string representation instead of
throwing an error,
which is consistent with how other non-string types (Numbers, Objects)
are already handled.

Fixed two code paths in es_scroll_parser.cpp:
1. fill_columns() - main _source parsing path
2. handle_value() - array element processing path

Also added regression test and test data for this scenario.
yiguolei pushed a commit that referenced this pull request Mar 17, 2026
…ontains array data #61236 (#61361)

Cherry-picked from #61236

Co-authored-by: Mingyu Chen (Rayner) <morningman@163.com>
yiguolei pushed a commit that referenced this pull request Mar 17, 2026
…ontains array data #61236 (#61361)

Cherry-picked from #61236

Co-authored-by: Mingyu Chen (Rayner) <morningman@163.com>
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/3.1.x dev/4.0.5-merged dev/4.1.0-merged reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants