Skip to content

[improve](streaming-job) Bind the incremental phase to a fixed BE and reuse the cdc reader#64423

Open
JNSimba wants to merge 5 commits into
apache:masterfrom
JNSimba:streaming-incremental-be-binding
Open

[improve](streaming-job) Bind the incremental phase to a fixed BE and reuse the cdc reader#64423
JNSimba wants to merge 5 commits into
apache:masterfrom
JNSimba:streaming-incremental-be-binding

Conversation

@JNSimba

@JNSimba JNSimba commented Jun 11, 2026

Copy link
Copy Markdown
Member

What problem does this PR solve?

Problem Summary:

For from-to (MySQL/PG CDC) streaming jobs, once a job enters the incremental (binlog) phase, two issues hurt throughput:

  • On the FE side, every polling round (default max_interval = 10s) re-selects a BE via global round-robin, so the task drifts across BEs with no job→BE affinity.
  • On the cdc_client side, although per-job reader ownership and a per-job fixed replication slot already exist, the live reader is not actually reused: the stream reader is closed and rebuilt on every round.

As a result every round rebuilds the reader. For PG this means reconnecting the replication slot and re-locating the WAL position (~15s each round), which together with large-transaction buffering is a major cause of idle / low-throughput stalls in the incremental phase.

What's changed

This PR binds the incremental phase to a fixed BE and reuses the cdc reader, so that in steady state each round only polls — zero re-location — and only restart / pause / BE-change boundaries trigger a rebuild. Scope is from-to (MySQL/PG) incremental phase only; the snapshot phase is unchanged, and TVF mode is out of scope.

  1. FE — job→BE affinity. Persist a boundBackendId on the job. In the incremental phase the job is bound to a fixed BE; the snapshot phase keeps the original per-round selection. The heartbeat RPCs (fetchEndOffset / compareOffset) are routed to the bound BE so they double as a reader keepalive. Replay-safe: boundBackendId <= 0 means "unbound" and round-robin re-selects, so old payloads and FE failover degrade to one extra rebuild, never to incorrectness.

  2. cdc_client — reader reuse with an offset guard. Reuse the live stream reader across tasks when the request start offset equals the reader's real consumed position; otherwise rebuild (close, re-locate WAL, re-read from the committed offset). The binlog path no longer tears down the reader on each round.

  3. Reader lifecycle. A background reaper releases an idle reader (stop engine, keep slot) only when there is neither a writeRecords request nor an FE heartbeat beyond a timeout. A RUNNING-but-upstream-idle reader stays resident (large transactions pay no re-location), while a truly orphaned connection (FE crash / re-bind / partition) is reclaimed.

  4. Zombie-task isolation. A rebuildReader flag swaps the reader instance, and an owner-task-id gate fences a still-running stale task from a newly claimed one at the dangerous actions (close stream load / cleanup reader / commit offset), so a slow task cannot corrupt the offset of its successor.

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:
  • Behavior changed:

    • No.
  • Does this need documentation?

    • No.

@hello-stephen

Copy link
Copy Markdown
Contributor

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?

@JNSimba JNSimba requested a review from Copilot June 11, 2026 10:43
@JNSimba

JNSimba commented Jun 11, 2026

Copy link
Copy Markdown
Member Author

/review

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR improves streaming insert (CDC) binlog-phase stability and reader reuse by pinning binlog execution to a bound BE, preventing displaced tasks from interfering with a successor task’s reader/streamload, and adding an idle-reader reaper on the cdc_client side to release unused readers while keeping upstream slots.

Changes:

  • Add BE binding/preference for binlog phase (FE selects preferred BE; offset provider routes RPCs to the bound BE).
  • Add cdc_client-side reader ownership + liveness tracking (keepAlive) and an idle-reader cleanup scheduler.
  • Prevent displaced tasks from closing shared resources and ensure commit/cleanup uses the owning taskId.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
fs_brokers/cdc_client/src/main/java/org/apache/doris/cdcclient/source/reader/JdbcIncrementalSourceReader.java Add offset-based guard to reuse/rebuild the live stream reader.
fs_brokers/cdc_client/src/main/java/org/apache/doris/cdcclient/service/PipelineCoordinator.java Ownership checks to avoid displaced-task cleanup/commit; keepAlive during polling; adjust finishSplitRecords behavior for binlog reuse.
fs_brokers/cdc_client/src/main/java/org/apache/doris/cdcclient/controller/ClientController.java keepAlive heartbeat when fetching end offset.
fs_brokers/cdc_client/src/main/java/org/apache/doris/cdcclient/common/Env.java Add ownership, keepAlive, FE-requested rebuild, and scheduled idle-reader release.
fs_brokers/cdc_client/src/main/java/org/apache/doris/cdcclient/common/Constants.java Add idle reader cleanup timing constants.
fe/fe-core/src/main/java/org/apache/doris/job/util/StreamingJobUtils.java Add selectBackend overload to prefer a bound backendId.
fe/fe-core/src/main/java/org/apache/doris/job/offset/SourceOffsetProvider.java Add bound-backend binding hook for providers.
fe/fe-core/src/main/java/org/apache/doris/job/offset/jdbc/JdbcSourceOffsetProvider.java Route fetch/compare/clean RPCs to bound BE; store boundBackendId transiently.
fe/fe-core/src/main/java/org/apache/doris/job/manager/JobManager.java Route manual status alter handling to StreamingInsertJob.onManualStatusAltered.
fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/streaming/StreamingMultiTblTask.java Bind BE selection in binlog phase; mark rebuildReader on RPC errors/timeouts; set rebuildReader on requests; adjust release semantics.
fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/streaming/StreamingInsertJob.java Persist boundBackendId; track needRebuildReader; release reader on manual pause; avoid overwriting manual pause failure reason.
fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/streaming/AbstractStreamingTask.java Add default releaseRemoteReader hook for tasks without CDC readers.
fe/fe-common/src/main/java/org/apache/doris/job/cdc/request/WriteRecordRequest.java Add rebuildReader flag for FE→cdc_client coordination.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread fs_brokers/cdc_client/src/main/java/org/apache/doris/cdcclient/common/Env.java Outdated
@JNSimba

JNSimba commented Jun 11, 2026

Copy link
Copy Markdown
Member Author

run buildall

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I reviewed the actual 13-file PR diff from GitHub. The goal is to pin incremental/binlog streaming work to a BE for reader reuse and rebuild/release readers when needed. The implementation is focused, but I found two lifecycle/data-correctness issues that need to be fixed before approval.\n\nCritical checkpoint conclusions:\n- Goal/test proof: the goal is only partially met; there are no PR tests covering BE rebind, displaced tasks, manual pause, or reader reuse failure paths.\n- Concurrency/lifecycle: not safe yet. Reader ownership can move while job-scoped stream-load state remains, and BE rebinding can leave the old live reader running.\n- Data writes/transactionality: blocking issue. Rows buffered by a displaced task can be flushed by a later task without the old offset being committed.\n- Persistence/compatibility: boundBackendId is persisted, and I did not find a thrift/storage-format change. The remaining concern is operational lifecycle during rebind/failover rather than serialization compatibility.\n- Configuration/observability: no new config items; logs are present, but they do not compensate for the lifecycle gaps.\n- Parallel paths: snapshot vs binlog behavior was considered. The issues are specific to the new binlog reader reuse/rebind path and displaced async writes.\n\nUser focus: no additional user-provided focus points were present.

@hello-stephen

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

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	18009	4113	3996	3996
q2	q3	10806	1340	831	831
q4	4683	468	336	336
q5	7498	875	580	580
q6	180	170	134	134
q7	762	853	625	625
q8	9364	1584	1496	1496
q9	5754	4533	4503	4503
q10	6820	1785	1532	1532
q11	433	295	258	258
q12	638	414	285	285
q13	18146	3444	2789	2789
q14	267	260	237	237
q15	q16	826	777	706	706
q17	908	942	889	889
q18	6753	5878	5565	5565
q19	1701	1351	1112	1112
q20	504	395	269	269
q21	6282	2933	2547	2547
q22	464	373	334	334
Total cold run time: 100798 ms
Total hot run time: 29024 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	5119	4784	4797	4784
q2	q3	4882	5373	4760	4760
q4	2144	2171	1385	1385
q5	4773	4834	4690	4690
q6	231	175	126	126
q7	1875	1853	1530	1530
q8	2406	2092	2084	2084
q9	7811	7526	7393	7393
q10	4740	4651	4236	4236
q11	523	388	353	353
q12	739	734	532	532
q13	2988	3373	2806	2806
q14	281	278	264	264
q15	q16	686	707	600	600
q17	1283	1252	1257	1252
q18	7288	6928	6719	6719
q19	1119	1079	1063	1063
q20	2223	2221	1920	1920
q21	5306	4576	4468	4468
q22	507	459	421	421
Total cold run time: 56924 ms
Total hot run time: 51386 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 168887 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 6cc16e1d6faf9bd972d6387981decd7db5ad39eb, data reload: false

query5	4317	622	492	492
query6	456	187	166	166
query7	4946	542	309	309
query8	362	220	208	208
query9	8758	4023	4065	4023
query10	432	307	252	252
query11	5902	2302	2179	2179
query12	159	97	101	97
query13	1268	631	417	417
query14	6393	5358	5097	5097
query14_1	4379	4375	4308	4308
query15	205	192	175	175
query16	1011	451	444	444
query17	1102	686	553	553
query18	2634	455	338	338
query19	196	178	135	135
query20	111	108	102	102
query21	219	136	113	113
query22	13595	13624	13397	13397
query23	17334	16415	16164	16164
query23_1	16224	16195	16419	16195
query24	7562	1777	1270	1270
query24_1	1276	1293	1264	1264
query25	543	438	366	366
query26	1287	306	165	165
query27	2738	552	344	344
query28	4392	1979	1975	1975
query29	1040	582	463	463
query30	316	233	200	200
query31	1106	1083	954	954
query32	113	63	60	60
query33	524	326	264	264
query34	1175	1133	666	666
query35	756	794	673	673
query36	1343	1384	1182	1182
query37	160	109	93	93
query38	3195	3122	3052	3052
query39	929	937	893	893
query39_1	894	878	891	878
query40	223	127	110	110
query41	72	67	65	65
query42	96	100	97	97
query43	316	325	281	281
query44	
query45	200	184	181	181
query46	1077	1206	771	771
query47	2356	2390	2262	2262
query48	415	411	315	315
query49	656	477	359	359
query50	990	369	262	262
query51	4293	4303	4215	4215
query52	89	92	79	79
query53	240	269	188	188
query54	274	224	207	207
query55	80	78	73	73
query56	254	237	237	237
query57	1452	1391	1319	1319
query58	248	225	218	218
query59	1603	1644	1449	1449
query60	291	274	236	236
query61	175	170	166	166
query62	707	649	593	593
query63	231	179	189	179
query64	2576	830	650	650
query65	
query66	1756	452	331	331
query67	29692	29636	29585	29585
query68	
query69	423	292	261	261
query70	968	933	986	933
query71	294	220	209	209
query72	2940	2618	2326	2326
query73	839	762	437	437
query74	5127	4947	4776	4776
query75	2657	2551	2236	2236
query76	2367	1151	797	797
query77	340	374	274	274
query78	12461	12558	11828	11828
query79	1355	1035	779	779
query80	622	461	386	386
query81	456	284	243	243
query82	579	158	121	121
query83	346	271	252	252
query84	
query85	855	524	414	414
query86	369	301	286	286
query87	3354	3357	3192	3192
query88	3642	2734	2705	2705
query89	414	386	324	324
query90	1964	186	175	175
query91	171	158	159	158
query92	63	55	54	54
query93	1542	1592	904	904
query94	543	337	314	314
query95	672	495	342	342
query96	1092	786	321	321
query97	2689	2699	2576	2576
query98	215	209	199	199
query99	1151	1163	1031	1031
Total cold run time: 250707 ms
Total hot run time: 168887 ms

@JNSimba

JNSimba commented Jun 11, 2026

Copy link
Copy Markdown
Member Author

/review

@JNSimba

JNSimba commented Jun 11, 2026

Copy link
Copy Markdown
Member Author

run buildall

1 similar comment
@JNSimba

JNSimba commented Jun 11, 2026

Copy link
Copy Markdown
Member Author

run buildall

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I found two additional blocking issues beyond the existing inline review threads: the persisted bound BE is not replayed into the transient offset provider, and the CDC client still treats a point-in-time ownership check as a lease while it continues to touch the shared reader/loader state.

Critical checkpoint conclusions:

  • Goal/test: the PR goal is clear, but I did not run tests in this review-only pass; lifecycle/concurrency tests around FE failover and task takeover would be needed.
  • Focused change: the change is focused on CDC reader reuse and bound-BE routing.
  • Concurrency/locks/lifecycle: not satisfied. Existing threads already cover several races/leaks, and the added positive-owner race below is another blocker.
  • Persistence/replay/data consistency: not satisfied because journal replay can leave provider routing stale after boundBackendId changes.
  • Config/compatibility/FE-BE variables: no additional compatibility issue found beyond the bound-BE routing sync problem.
  • Tests/observability/performance: no additional test evidence was provided in this review context; no separate performance regression identified.

User focus: no additional user-provided review focus was present, so I performed the full PR review without a special focus area.

@hello-stephen

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

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17602	3984	3945	3945
q2	q3	10736	1390	806	806
q4	4685	470	335	335
q5	7552	856	564	564
q6	178	167	131	131
q7	780	840	617	617
q8	9590	1524	1549	1524
q9	6813	4534	4511	4511
q10	6851	1802	1532	1532
q11	434	267	245	245
q12	654	423	284	284
q13	18194	3395	2759	2759
q14	273	255	245	245
q15	q16	822	771	705	705
q17	909	896	987	896
q18	7241	5700	5618	5618
q19	1237	1216	1004	1004
q20	525	400	253	253
q21	6159	2802	2666	2666
q22	463	378	318	318
Total cold run time: 101698 ms
Total hot run time: 28958 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	4922	4815	4700	4700
q2	q3	4987	5313	4639	4639
q4	2112	2231	1386	1386
q5	4857	4936	4804	4804
q6	229	171	125	125
q7	1802	1725	1573	1573
q8	2428	2130	1975	1975
q9	7424	7455	7448	7448
q10	4753	4697	4208	4208
q11	528	392	387	387
q12	731	744	521	521
q13	2975	3406	2795	2795
q14	286	277	249	249
q15	q16	686	703	614	614
q17	1303	1270	1269	1269
q18	7276	6934	6704	6704
q19	1119	1108	1122	1108
q20	2226	2238	1966	1966
q21	5291	4576	4453	4453
q22	521	447	431	431
Total cold run time: 56456 ms
Total hot run time: 51355 ms

@hello-stephen

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

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17860	4184	4138	4138
q2	q3	10779	1445	855	855
q4	4694	469	337	337
q5	7567	882	608	608
q6	187	170	133	133
q7	765	826	620	620
q8	9565	1486	1624	1486
q9	6402	4591	4509	4509
q10	6866	1791	1503	1503
q11	443	269	249	249
q12	648	432	291	291
q13	18163	3423	2776	2776
q14	270	258	244	244
q15	q16	817	777	710	710
q17	946	1009	824	824
q18	6966	5683	5524	5524
q19	1440	1277	1024	1024
q20	507	405	274	274
q21	5822	2914	2547	2547
q22	432	374	318	318
Total cold run time: 101139 ms
Total hot run time: 28970 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	5042	4891	4904	4891
q2	q3	5200	5247	4624	4624
q4	2153	2229	1394	1394
q5	4877	4882	4764	4764
q6	241	183	136	136
q7	1887	1736	1617	1617
q8	2363	2276	1964	1964
q9	7517	7451	7406	7406
q10	4759	4695	4231	4231
q11	549	393	363	363
q12	738	743	529	529
q13	3026	3340	2844	2844
q14	284	277	245	245
q15	q16	679	706	617	617
q17	1289	1276	1262	1262
q18	7328	7057	6604	6604
q19	1135	1102	1083	1083
q20	2229	2228	1952	1952
q21	5341	4728	4581	4581
q22	536	458	417	417
Total cold run time: 57173 ms
Total hot run time: 51524 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 168893 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 7ce1a562e4958c1c8c674ed77c1ff0955cb24555, data reload: false

query5	4320	631	476	476
query6	441	198	171	171
query7	4841	519	317	317
query8	362	214	208	208
query9	8764	3988	3994	3988
query10	466	307	258	258
query11	5875	2376	2193	2193
query12	166	107	98	98
query13	1293	610	430	430
query14	6779	5392	5075	5075
query14_1	4376	4390	4357	4357
query15	205	199	177	177
query16	1059	453	460	453
query17	1133	697	587	587
query18	2701	482	355	355
query19	209	190	151	151
query20	123	110	103	103
query21	221	139	121	121
query22	13652	13453	13337	13337
query23	17212	16573	16169	16169
query23_1	16168	16300	16190	16190
query24	7657	1752	1316	1316
query24_1	1312	1305	1323	1305
query25	570	463	387	387
query26	1319	325	172	172
query27	2600	572	342	342
query28	4401	2004	2015	2004
query29	1080	642	497	497
query30	310	240	199	199
query31	1155	1078	967	967
query32	112	63	62	62
query33	543	319	271	271
query34	1189	1139	652	652
query35	754	790	719	719
query36	1404	1405	1223	1223
query37	152	99	91	91
query38	3191	3146	3057	3057
query39	933	921	908	908
query39_1	874	912	860	860
query40	222	123	102	102
query41	63	60	61	60
query42	94	94	93	93
query43	314	315	281	281
query44	
query45	198	185	178	178
query46	1068	1212	719	719
query47	2372	2364	2261	2261
query48	403	412	288	288
query49	636	458	345	345
query50	1057	352	255	255
query51	4425	4289	4304	4289
query52	88	88	75	75
query53	237	275	192	192
query54	267	212	189	189
query55	77	75	68	68
query56	232	221	214	214
query57	1419	1426	1358	1358
query58	242	213	213	213
query59	1560	1688	1471	1471
query60	284	243	225	225
query61	157	151	154	151
query62	704	664	586	586
query63	225	183	184	183
query64	2475	758	649	649
query65	
query66	1745	472	340	340
query67	29829	29589	29409	29409
query68	
query69	412	305	257	257
query70	997	968	977	968
query71	345	222	215	215
query72	2882	2907	2357	2357
query73	831	762	424	424
query74	5098	4942	4769	4769
query75	2649	2570	2236	2236
query76	2347	1161	781	781
query77	350	381	287	287
query78	12575	12345	11907	11907
query79	1409	1014	732	732
query80	1289	463	397	397
query81	521	282	249	249
query82	628	158	117	117
query83	320	273	246	246
query84	
query85	924	535	422	422
query86	439	307	294	294
query87	3394	3395	3178	3178
query88	3612	2752	2726	2726
query89	429	388	332	332
query90	1936	183	177	177
query91	172	155	135	135
query92	66	61	52	52
query93	1593	1442	905	905
query94	708	345	321	321
query95	669	397	433	397
query96	1061	843	366	366
query97	2712	2727	2567	2567
query98	210	202	206	202
query99	1148	1197	1046	1046
Total cold run time: 252473 ms
Total hot run time: 168893 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 169481 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 7ce1a562e4958c1c8c674ed77c1ff0955cb24555, data reload: false

query5	4373	624	457	457
query6	453	193	178	178
query7	4829	544	279	279
query8	358	210	206	206
query9	8747	4086	4064	4064
query10	428	301	254	254
query11	5946	2359	2151	2151
query12	165	105	100	100
query13	1270	615	412	412
query14	6343	5410	5025	5025
query14_1	4377	4399	4359	4359
query15	204	196	175	175
query16	995	447	433	433
query17	1097	686	546	546
query18	2413	472	330	330
query19	200	182	137	137
query20	111	103	102	102
query21	217	139	116	116
query22	13689	13627	13414	13414
query23	17417	16546	16129	16129
query23_1	16199	16257	16385	16257
query24	7579	1777	1320	1320
query24_1	1337	1281	1289	1281
query25	566	469	399	399
query26	1293	312	160	160
query27	2736	592	349	349
query28	4505	2023	2057	2023
query29	1081	629	505	505
query30	317	237	199	199
query31	1119	1073	963	963
query32	118	64	63	63
query33	556	327	256	256
query34	1196	1210	661	661
query35	763	796	693	693
query36	1415	1379	1173	1173
query37	157	111	98	98
query38	3224	3124	3067	3067
query39	936	927	913	913
query39_1	902	901	882	882
query40	220	128	108	108
query41	71	67	68	67
query42	99	97	97	97
query43	332	326	284	284
query44	
query45	205	196	180	180
query46	1096	1239	758	758
query47	2358	2360	2244	2244
query48	412	437	292	292
query49	644	482	361	361
query50	995	351	260	260
query51	4315	4280	4279	4279
query52	91	92	79	79
query53	255	276	199	199
query54	285	233	211	211
query55	81	76	73	73
query56	251	252	225	225
query57	1423	1405	1322	1322
query58	255	226	219	219
query59	1552	1662	1397	1397
query60	311	266	240	240
query61	217	149	153	149
query62	710	638	589	589
query63	228	193	187	187
query64	2528	757	610	610
query65	
query66	1812	459	333	333
query67	30224	29744	29592	29592
query68	
query69	432	300	275	275
query70	986	953	889	889
query71	298	218	204	204
query72	2886	2683	2387	2387
query73	857	770	450	450
query74	5108	4946	4769	4769
query75	2668	2575	2216	2216
query76	2326	1153	800	800
query77	341	374	292	292
query78	12409	12462	11877	11877
query79	1409	1077	761	761
query80	913	464	382	382
query81	498	298	239	239
query82	577	165	124	124
query83	354	277	245	245
query84	
query85	894	503	453	453
query86	400	318	277	277
query87	3422	3419	3198	3198
query88	3646	2765	2692	2692
query89	422	382	333	333
query90	1932	181	187	181
query91	173	163	137	137
query92	63	59	55	55
query93	1535	1538	959	959
query94	623	368	331	331
query95	666	453	353	353
query96	1031	786	342	342
query97	2702	2690	2548	2548
query98	212	204	205	204
query99	1152	1189	1044	1044
Total cold run time: 251926 ms
Total hot run time: 169481 ms

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 26.67% (16/60) 🎉
Increment coverage report
Complete coverage report

@JNSimba JNSimba changed the title [improve](streamingjob) add binlogphase bind be [improve](streaming-job) Bind the incremental phase to a fixed BE and reuse the cdc reader Jun 12, 2026
@JNSimba

JNSimba commented Jun 12, 2026

Copy link
Copy Markdown
Member Author

/review

@JNSimba

JNSimba commented Jun 12, 2026

Copy link
Copy Markdown
Member Author

run buildall

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Automated review result: request changes.

I found one additional regression in the common pause cleanup path. Existing review threads already cover several blocking reader ownership, bound-BE replay/rebind, idle reaper, and stream-load reuse races, so I did not duplicate those inline.

Critical checkpoint conclusions:

  • Goal/test coverage: The PR targets fixed BE affinity and binlog reader reuse. The added flow is not fully proven for pause/cancel lifecycle, and existing threads cover unresolved correctness races.
  • Scope/focus: A CDC-specific cleanup change leaks into the generic streaming task pause path; see the inline comment.
  • Concurrency/lifecycle: Existing threads already identify unresolved owner-lease races, idle reaper races, blocking release under lock, and stale loader reuse. No duplicate comments added.
  • Config/compatibility: No new config item or incompatible storage/wire-format issue found beyond optional request/persisted fields with safe defaults.
  • Parallel paths: The TVF-backed StreamingInsertTask path must preserve local cleanup when CDC reader release is separated.
  • Testing/results: I did not run tests in this review. I did not find coverage for the pause cleanup regression.
  • Observability: Existing logging is sufficient for the newly reviewed control flow.
  • Transaction/persistence/data writes: No additional issue found beyond the existing bound-backend replay and ownership comments.
  • User focus: No additional user-provided review focus was supplied.

@hello-stephen

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

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17873	4019	3962	3962
q2	q3	10778	1425	802	802
q4	4686	470	334	334
q5	7556	856	562	562
q6	188	166	133	133
q7	752	840	634	634
q8	10175	1603	1617	1603
q9	6988	4488	4492	4488
q10	6816	1804	1527	1527
q11	435	269	242	242
q12	631	429	288	288
q13	18203	3384	2743	2743
q14	261	258	245	245
q15	q16	816	768	705	705
q17	1008	896	968	896
q18	6697	5808	5477	5477
q19	1237	1235	989	989
q20	523	413	261	261
q21	6158	2866	2479	2479
q22	439	373	305	305
Total cold run time: 102220 ms
Total hot run time: 28675 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	4938	4762	5108	4762
q2	q3	5171	5201	4608	4608
q4	2104	2169	1385	1385
q5	4834	4877	4696	4696
q6	234	177	127	127
q7	1849	1779	1561	1561
q8	2365	1932	1931	1931
q9	7403	7337	7356	7337
q10	4744	4690	4226	4226
q11	531	379	354	354
q12	730	751	526	526
q13	3007	3293	2834	2834
q14	273	280	263	263
q15	q16	677	692	611	611
q17	1280	1251	1248	1248
q18	7317	7018	6763	6763
q19	1117	1086	1100	1086
q20	2209	2204	1955	1955
q21	5278	4558	4451	4451
q22	527	467	397	397
Total cold run time: 56588 ms
Total hot run time: 51121 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 168819 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 9437a3161fe6d25f1c19e4dc5ef5f94ae27de6db, data reload: false

query5	4351	642	477	477
query6	446	201	191	191
query7	4820	571	307	307
query8	367	218	209	209
query9	8766	4042	4061	4042
query10	469	309	259	259
query11	5972	2364	2157	2157
query12	157	101	99	99
query13	1256	641	435	435
query14	6343	5394	5057	5057
query14_1	4390	4390	4396	4390
query15	202	199	177	177
query16	1013	476	451	451
query17	1117	706	580	580
query18	2645	488	353	353
query19	207	186	144	144
query20	114	107	106	106
query21	220	137	118	118
query22	13643	13496	13343	13343
query23	17307	16509	16182	16182
query23_1	16294	16339	16329	16329
query24	7406	1779	1314	1314
query24_1	1312	1287	1317	1287
query25	562	455	413	413
query26	1332	331	173	173
query27	3163	555	339	339
query28	4522	2102	2043	2043
query29	1076	640	494	494
query30	324	224	232	224
query31	1118	1083	956	956
query32	111	69	57	57
query33	507	309	240	240
query34	1171	1135	679	679
query35	731	771	669	669
query36	1420	1426	1248	1248
query37	150	99	90	90
query38	3180	3127	3039	3039
query39	933	929	908	908
query39_1	875	861	877	861
query40	213	121	98	98
query41	63	61	59	59
query42	94	94	91	91
query43	318	320	285	285
query44	
query45	195	178	176	176
query46	1096	1258	703	703
query47	2410	2353	2283	2283
query48	410	407	297	297
query49	624	458	359	359
query50	963	358	254	254
query51	4360	4275	4201	4201
query52	87	87	76	76
query53	244	260	190	190
query54	278	221	193	193
query55	78	76	70	70
query56	231	215	211	211
query57	1433	1407	1330	1330
query58	250	209	205	205
query59	1603	1665	1455	1455
query60	275	247	223	223
query61	151	143	151	143
query62	706	645	590	590
query63	231	184	186	184
query64	2476	787	612	612
query65	
query66	1762	456	333	333
query67	29649	29558	29607	29558
query68	
query69	422	292	263	263
query70	926	965	984	965
query71	294	221	208	208
query72	2957	2649	2352	2352
query73	850	748	425	425
query74	5097	4964	4754	4754
query75	2671	2570	2236	2236
query76	2299	1187	777	777
query77	349	370	289	289
query78	12385	12467	11846	11846
query79	1470	1103	753	753
query80	1238	461	384	384
query81	513	279	245	245
query82	563	156	118	118
query83	324	270	239	239
query84	
query85	899	545	428	428
query86	400	296	291	291
query87	3416	3399	3166	3166
query88	3624	2752	2720	2720
query89	421	378	335	335
query90	1850	182	172	172
query91	172	158	135	135
query92	63	64	55	55
query93	1518	1456	827	827
query94	659	368	317	317
query95	662	369	359	359
query96	1014	772	371	371
query97	2708	2711	2588	2588
query98	216	210	198	198
query99	1148	1177	1026	1026
Total cold run time: 251466 ms
Total hot run time: 168819 ms

@JNSimba

JNSimba commented Jun 12, 2026

Copy link
Copy Markdown
Member Author

/review

@JNSimba

JNSimba commented Jun 12, 2026

Copy link
Copy Markdown
Member Author

run buildall

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review result: request changes.

I read the repository code-review skill and the existing inline review threads before reviewing this diff. I avoided reposting the already-known CDC ownership, cleanup, binding replay, and idle-reaper comments; the inline comments below are distinct additional blockers.

Critical checkpoint conclusions:

  • Goal: fixed-BE binlog reader reuse is only partially safe. The current patch can still reuse a reader without the required single-owner/single-BE guarantee.
  • Scope/focus: the code changes are focused on streaming CDC, but they cross the FE-to-cdc_client protocol and long-lived reader lifecycle, so compatibility and concurrency need stronger handling.
  • Concurrency: this path has FE scheduler threads, user PAUSE/RESUME commands, asynchronous cdc_client write threads, releaseReader RPCs, and the idle reaper. The new manual pause path can race with immediate resume and reuse the same live reader.
  • Lifecycle: long-lived readers now survive task boundaries; detach/rebuild must be deterministic at manual pause/resume and mixed-version boundaries.
  • Configuration: no new config items.
  • Compatibility: the new primitive request flag is not safe for rolling upgrades because old FE payloads deserialize as reuse-enabled on a new cdc_client.
  • Parallel paths: both MySQL and PostgreSQL binlog paths are affected by the protocol/default and manual pause issues. TVF local cleanup appears restored by the latest patch.
  • Tests: this PR does not add visible automated coverage for the new lifecycle. Please cover rolling-upgrade/default-request behavior and pause-then-immediate-resume around an in-flight task.
  • Persistence/failover: boundBackendId is persisted and resynced in replayOffsetProviderIfNeed in the current patch; existing review threads still cover other replay/binding concerns.
  • Data writes: the remaining issues can duplicate or mix CDC records before offset commit, so they are correctness blockers.
  • Observability: the added logs help diagnosis but do not prevent the unsafe interleavings.

User focus: no additional user-provided focus points were supplied.

@hello-stephen

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

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17739	4111	4158	4111
q2	q3	10789	1401	806	806
q4	4682	474	341	341
q5	7534	875	586	586
q6	181	177	140	140
q7	773	843	629	629
q8	9356	1556	1644	1556
q9	5917	4504	4542	4504
q10	6770	1799	1525	1525
q11	423	288	245	245
q12	633	429	298	298
q13	18200	3638	2808	2808
q14	277	264	245	245
q15	q16	826	777	719	719
q17	982	846	973	846
q18	6770	5706	5486	5486
q19	1289	1285	1111	1111
q20	513	405	277	277
q21	6320	2950	2768	2768
q22	478	387	338	338
Total cold run time: 100452 ms
Total hot run time: 29339 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	5216	4852	4888	4852
q2	q3	4841	5299	4829	4829
q4	2199	2413	1408	1408
q5	4781	4826	4814	4814
q6	235	178	126	126
q7	1875	1738	1650	1650
q8	2638	2356	2166	2166
q9	7961	7702	7426	7426
q10	4770	4714	4249	4249
q11	537	419	363	363
q12	730	745	525	525
q13	3021	3425	2812	2812
q14	274	284	263	263
q15	q16	687	701	624	624
q17	1313	1285	1249	1249
q18	7344	6992	6803	6803
q19	1103	1110	1130	1110
q20	2219	2238	1954	1954
q21	5363	4744	4534	4534
q22	536	467	407	407
Total cold run time: 57643 ms
Total hot run time: 52164 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 168864 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 b3ac27b17acb4514d9dfd14e41deb9117f5d1581, data reload: false

query5	4342	611	467	467
query6	461	188	174	174
query7	4858	574	292	292
query8	356	214	206	206
query9	8793	4085	4064	4064
query10	444	311	261	261
query11	5987	2364	2104	2104
query12	157	98	101	98
query13	1271	599	391	391
query14	6289	5382	5033	5033
query14_1	4362	4355	4344	4344
query15	205	190	181	181
query16	976	438	405	405
query17	890	682	559	559
query18	2416	443	334	334
query19	196	177	139	139
query20	123	106	103	103
query21	212	135	116	116
query22	13679	13576	13356	13356
query23	17389	16594	16193	16193
query23_1	16302	16326	16272	16272
query24	7462	1785	1267	1267
query24_1	1278	1289	1303	1289
query25	542	422	364	364
query26	1306	301	166	166
query27	2744	573	336	336
query28	4525	2033	2017	2017
query29	1057	597	454	454
query30	313	236	198	198
query31	1122	1078	942	942
query32	136	63	56	56
query33	524	321	255	255
query34	1218	1149	648	648
query35	738	778	684	684
query36	1398	1410	1217	1217
query37	157	107	94	94
query38	3197	3156	3082	3082
query39	938	922	895	895
query39_1	888	879	881	879
query40	223	124	104	104
query41	70	67	67	67
query42	96	94	95	94
query43	328	333	283	283
query44	
query45	209	192	181	181
query46	1126	1236	751	751
query47	2338	2403	2205	2205
query48	396	433	316	316
query49	640	493	389	389
query50	971	368	275	275
query51	4287	4261	4242	4242
query52	94	89	81	81
query53	251	273	195	195
query54	285	230	209	209
query55	81	79	73	73
query56	278	251	240	240
query57	1454	1410	1324	1324
query58	274	231	218	218
query59	1629	1667	1513	1513
query60	292	255	241	241
query61	179	169	179	169
query62	701	658	606	606
query63	235	196	192	192
query64	2585	817	640	640
query65	
query66	1829	464	353	353
query67	29852	29636	29521	29521
query68	
query69	437	312	272	272
query70	978	1000	920	920
query71	303	233	217	217
query72	3123	2578	2351	2351
query73	843	762	431	431
query74	5127	4923	4787	4787
query75	2646	2549	2250	2250
query76	2323	1152	741	741
query77	346	363	286	286
query78	12637	12425	11896	11896
query79	1451	1061	792	792
query80	1267	449	380	380
query81	499	284	251	251
query82	894	153	120	120
query83	348	263	244	244
query84	
query85	897	494	416	416
query86	416	297	276	276
query87	3393	3388	3241	3241
query88	3637	2739	2722	2722
query89	425	382	334	334
query90	1854	176	176	176
query91	173	166	136	136
query92	60	62	55	55
query93	1501	1428	824	824
query94	704	357	319	319
query95	695	367	346	346
query96	1081	770	362	362
query97	2679	2685	2542	2542
query98	206	205	204	204
query99	1131	1176	989	989
Total cold run time: 252355 ms
Total hot run time: 168864 ms

@JNSimba

JNSimba commented Jun 12, 2026

Copy link
Copy Markdown
Member Author

/review

@JNSimba

JNSimba commented Jun 12, 2026

Copy link
Copy Markdown
Member Author

run buildall

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Automated review result: request changes.

I found three additional reader-lifecycle issues beyond the already-known inline threads. I did not duplicate the existing comments about the primitive rebuildReader compatibility issue, owner lease gaps around commit/flush, manual pause release races, keepAlive synchronization, or boundBackend replay; those still need to be resolved or explicitly closed with evidence.

Critical checkpoint conclusions:

  • Goal: fixed-BE incremental CDC reader reuse is the right goal, but the current cleanup/rebuild paths can still leave duplicate or unclosed readers.
  • Scope: the diff is focused, but it changes a high-risk lifecycle shared by FE scheduling, cdc_client ownership, and source replication slots.
  • Concurrency: yes; task execution, async cdc_client work, release RPCs, idle reaper, and FE status changes interact. The new comments cover cases where ownership bookkeeping changes before the old reader is actually stopped.
  • Lifecycle: not safe yet. Rebuild, idle timeout, and drop cleanup can lose track of a live reader or close the wrong BE.
  • Compatibility: existing rolling-upgrade comment for the new primitive boolean remains applicable.
  • Persistence/failover: existing boundBackend/provider replay thread should be verified after the latest changes.
  • Parallel paths: dispatch rebind, manual release, idle reaper, rebuild, and drop cleanup need consistent deterministic release semantics.
  • Tests: no new test files are in the PR diff for these failure modes; please add targeted coverage or provide concrete manual validation.
  • User focus: no additional user-provided review focus was supplied.

@hello-stephen

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

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17634	3968	3938	3938
q2	q3	10748	1326	782	782
q4	4685	474	340	340
q5	7552	861	576	576
q6	189	171	132	132
q7	772	821	639	639
q8	9349	1283	1362	1283
q9	6445	4500	4483	4483
q10	6773	1785	1517	1517
q11	441	271	247	247
q12	639	432	290	290
q13	18114	3384	2774	2774
q14	269	257	246	246
q15	q16	819	771	703	703
q17	982	865	995	865
q18	6688	5736	5605	5605
q19	1307	1376	981	981
q20	502	410	255	255
q21	5801	2602	2370	2370
q22	437	350	300	300
Total cold run time: 100146 ms
Total hot run time: 28326 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	4294	4228	4229	4228
q2	q3	4470	4915	4362	4362
q4	2076	2177	1385	1385
q5	4361	4260	4270	4260
q6	223	172	128	128
q7	1691	1599	1396	1396
q8	2692	2266	2192	2192
q9	7990	8068	7920	7920
q10	4812	4748	4328	4328
q11	578	405	379	379
q12	746	795	541	541
q13	3243	3743	2955	2955
q14	286	305	280	280
q15	q16	710	751	700	700
q17	1361	1327	1320	1320
q18	7946	7295	7229	7229
q19	1122	1089	1101	1089
q20	2226	2206	1953	1953
q21	5240	4578	4479	4479
q22	524	466	418	418
Total cold run time: 56591 ms
Total hot run time: 51542 ms

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 0.00% (0/58) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 169298 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 18ca280180a97c7c8b4d52424c6a193a92f6e52e, data reload: false

query5	4331	636	465	465
query6	432	185	169	169
query7	4930	536	326	326
query8	360	212	198	198
query9	8764	4101	4089	4089
query10	466	307	256	256
query11	5786	2354	2159	2159
query12	154	102	100	100
query13	1272	626	428	428
query14	6375	5414	5140	5140
query14_1	4429	4430	4390	4390
query15	203	198	177	177
query16	1023	430	452	430
query17	1133	711	601	601
query18	2545	472	350	350
query19	207	184	147	147
query20	115	106	105	105
query21	217	137	117	117
query22	13635	13612	13387	13387
query23	17302	16590	16272	16272
query23_1	16289	16205	16358	16205
query24	7542	1800	1320	1320
query24_1	1313	1329	1311	1311
query25	575	485	401	401
query26	1307	340	170	170
query27	2677	564	340	340
query28	4493	2036	2049	2036
query29	1108	637	514	514
query30	325	239	197	197
query31	1131	1079	960	960
query32	109	66	62	62
query33	513	329	257	257
query34	1181	1169	644	644
query35	750	790	738	738
query36	1391	1437	1227	1227
query37	155	103	89	89
query38	3198	3118	3076	3076
query39	921	909	887	887
query39_1	864	917	892	892
query40	209	120	100	100
query41	68	62	60	60
query42	92	94	91	91
query43	314	323	273	273
query44	
query45	203	186	176	176
query46	1083	1181	703	703
query47	2346	2332	2268	2268
query48	394	424	286	286
query49	618	462	368	368
query50	966	356	257	257
query51	4306	4350	4199	4199
query52	87	87	77	77
query53	242	277	193	193
query54	258	210	205	205
query55	78	75	71	71
query56	229	225	208	208
query57	1421	1405	1322	1322
query58	230	221	208	208
query59	1563	1643	1404	1404
query60	278	250	231	231
query61	153	155	149	149
query62	684	649	585	585
query63	233	188	188	188
query64	2511	769	611	611
query65	
query66	1736	458	349	349
query67	29870	29692	29572	29572
query68	
query69	423	308	258	258
query70	978	911	957	911
query71	302	266	213	213
query72	2926	2792	2420	2420
query73	854	781	418	418
query74	5142	5001	4776	4776
query75	2663	2577	2250	2250
query76	2328	1255	815	815
query77	345	384	304	304
query78	12363	12525	11856	11856
query79	1422	1077	796	796
query80	1273	463	389	389
query81	532	276	234	234
query82	622	163	119	119
query83	309	271	252	252
query84	
query85	916	522	414	414
query86	449	300	265	265
query87	3415	3355	3200	3200
query88	3685	2762	2755	2755
query89	434	389	332	332
query90	1900	181	186	181
query91	174	159	135	135
query92	61	66	61	61
query93	1632	1370	938	938
query94	724	349	307	307
query95	675	389	336	336
query96	1031	780	344	344
query97	2713	2703	2548	2548
query98	213	202	215	202
query99	1137	1187	1046	1046
Total cold run time: 251772 ms
Total hot run time: 169298 ms

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants