Skip to content

Conversation

@w41ter
Copy link
Contributor

@w41ter w41ter commented Jun 19, 2024

Generally speaking, as long as a rowset has a version, it can be considered not to be in a pending state. However, if the rowset was created through ingesting binlogs, it will have a version but should still be considered in a pending state because the ingesting txn has not yet been committed.

This PR updates the condition for determining the pending state. If a rowset is COMMITTED, the txn should be allowed to roll back even if a version exists.

@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.

@w41ter
Copy link
Contributor Author

w41ter commented Jun 19, 2024

run buildall

@github-actions
Copy link
Contributor

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

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17605	4337	4295	4295
q2	2043	186	185	185
q3	10462	1108	1098	1098
q4	10198	855	819	819
q5	7452	2652	2555	2555
q6	220	138	137	137
q7	951	605	595	595
q8	9208	2054	2099	2054
q9	8846	6459	6415	6415
q10	8933	3725	3691	3691
q11	454	237	229	229
q12	438	231	231	231
q13	18908	2986	2974	2974
q14	264	220	217	217
q15	503	476	479	476
q16	510	379	380	379
q17	971	688	733	688
q18	8356	8053	7919	7919
q19	7933	1597	1474	1474
q20	693	329	330	329
q21	5029	3293	3259	3259
q22	398	336	355	336
Total cold run time: 120375 ms
Total hot run time: 40355 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4666	4442	4409	4409
q2	389	272	268	268
q3	3025	2732	2858	2732
q4	2026	1687	1687	1687
q5	5507	5520	5513	5513
q6	219	131	134	131
q7	2168	1816	1844	1816
q8	3336	3430	3408	3408
q9	8734	8704	8710	8704
q10	4110	3850	3860	3850
q11	587	483	488	483
q12	839	684	640	640
q13	17024	3023	3154	3023
q14	312	275	266	266
q15	543	481	476	476
q16	474	423	425	423
q17	1830	1508	1496	1496
q18	8120	7756	7793	7756
q19	1779	1640	1639	1639
q20	3144	1890	1856	1856
q21	8010	4775	4911	4775
q22	611	557	553	553
Total cold run time: 77453 ms
Total hot run time: 55904 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 173422 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 1505473a2de1b6e8d94b88d0613de01c445000be, data reload: false

query1	823	379	370	370
query2	6430	2427	2599	2427
query3	6407	201	209	201
query4	19807	17375	17287	17287
query5	3748	465	454	454
query6	251	160	161	160
query7	4464	295	291	291
query8	310	289	281	281
query9	8228	2381	2348	2348
query10	602	299	279	279
query11	10602	9929	9978	9929
query12	134	84	82	82
query13	1569	367	364	364
query14	9479	7596	7570	7570
query15	236	197	193	193
query16	7259	266	266	266
query17	1374	540	517	517
query18	1913	278	270	270
query19	196	150	152	150
query20	88	84	84	84
query21	206	132	133	132
query22	4461	4074	4009	4009
query23	33703	33719	33546	33546
query24	8920	2777	2740	2740
query25	587	346	369	346
query26	703	155	151	151
query27	2240	314	328	314
query28	5605	2034	2018	2018
query29	870	628	609	609
query30	251	154	153	153
query31	949	735	733	733
query32	85	55	55	55
query33	641	286	274	274
query34	857	468	453	453
query35	688	619	622	619
query36	1069	949	927	927
query37	132	67	68	67
query38	2892	2751	2749	2749
query39	867	774	793	774
query40	205	131	123	123
query41	54	51	49	49
query42	125	95	102	95
query43	595	563	574	563
query44	1075	722	712	712
query45	197	164	161	161
query46	1067	704	709	704
query47	1850	1759	1758	1758
query48	358	289	286	286
query49	827	414	400	400
query50	775	386	401	386
query51	6851	6591	6682	6591
query52	98	95	88	88
query53	354	288	295	288
query54	830	446	431	431
query55	74	71	74	71
query56	304	252	263	252
query57	1128	1050	1023	1023
query58	240	240	258	240
query59	3435	3166	3132	3132
query60	297	274	266	266
query61	91	87	92	87
query62	600	450	448	448
query63	322	293	301	293
query64	8560	2336	1777	1777
query65	3152	3087	3106	3087
query66	893	335	323	323
query67	15347	15020	15152	15020
query68	4451	510	536	510
query69	523	383	369	369
query70	1145	1133	1077	1077
query71	384	272	269	269
query72	7066	5719	5563	5563
query73	746	322	325	322
query74	5784	5404	5424	5404
query75	3350	2624	2688	2624
query76	2164	866	917	866
query77	454	297	294	294
query78	10403	10005	9762	9762
query79	2415	505	501	501
query80	1200	462	468	462
query81	591	231	215	215
query82	877	105	104	104
query83	233	164	165	164
query84	247	83	88	83
query85	1248	280	273	273
query86	465	323	332	323
query87	3314	3108	3056	3056
query88	4330	2339	2348	2339
query89	477	389	375	375
query90	1804	194	187	187
query91	126	96	101	96
query92	61	50	48	48
query93	1872	498	487	487
query94	1267	190	187	187
query95	410	322	307	307
query96	584	272	264	264
query97	3258	3019	3078	3019
query98	280	199	192	192
query99	1392	834	844	834
Total cold run time: 262271 ms
Total hot run time: 173422 ms

@doris-robot
Copy link

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

query1	0.04	0.03	0.03
query2	0.07	0.04	0.04
query3	0.22	0.05	0.05
query4	1.67	0.07	0.08
query5	0.48	0.48	0.49
query6	1.14	0.73	0.72
query7	0.02	0.02	0.02
query8	0.05	0.05	0.04
query9	0.54	0.49	0.47
query10	0.54	0.54	0.54
query11	0.16	0.12	0.11
query12	0.16	0.12	0.12
query13	0.60	0.60	0.59
query14	0.78	0.79	0.78
query15	0.84	0.81	0.80
query16	0.36	0.35	0.37
query17	1.01	0.99	1.02
query18	0.23	0.26	0.22
query19	1.83	1.68	1.66
query20	0.01	0.01	0.02
query21	15.43	0.66	0.65
query22	3.90	6.87	2.58
query23	18.32	1.28	1.36
query24	2.17	0.23	0.22
query25	0.16	0.09	0.09
query26	0.27	0.17	0.18
query27	0.08	0.08	0.08
query28	13.20	1.01	1.00
query29	12.59	3.27	3.23
query30	0.26	0.06	0.06
query31	2.85	0.40	0.38
query32	3.27	0.46	0.48
query33	2.92	2.89	2.87
query34	17.02	4.43	4.41
query35	4.52	4.48	4.48
query36	0.67	0.46	0.48
query37	0.19	0.15	0.15
query38	0.15	0.15	0.14
query39	0.05	0.03	0.04
query40	0.17	0.15	0.14
query41	0.10	0.05	0.04
query42	0.05	0.04	0.04
query43	0.04	0.04	0.04
Total cold run time: 109.13 s
Total hot run time: 31.09 s

…ng txn

Generally speaking, as long as a rowset has a version, it can be considered
not to be in a pending state.  However, if the rowset was created through
ingesting binlogs, it will have a version but should still be considered in
a pending state because the ingesting txn has not yet been committed.

This PR updates the condition for determining the pending state. If a rowset
is COMMITTED, the txn should be allowed to roll back even if a version exists.
@w41ter w41ter force-pushed the fix_ingesting_binlog_rollback branch from 1505473 to 43bf61e Compare June 20, 2024 08:13
@w41ter
Copy link
Contributor Author

w41ter commented Jun 20, 2024

run buildall

@github-actions
Copy link
Contributor

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

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 36.48% (9010/24696)
Line Coverage: 28.03% (73893/263641)
Region Coverage: 27.51% (38379/139495)
Branch Coverage: 24.22% (19569/80798)
Coverage Report: http://coverage.selectdb-in.cc/coverage/43bf61e036f03df54d4890e4cd0e457e41940a45_43bf61e036f03df54d4890e4cd0e457e41940a45/report/index.html

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17615	4356	4322	4322
q2	2033	193	203	193
q3	10422	1213	1121	1121
q4	10194	887	811	811
q5	7491	2697	2642	2642
q6	220	134	138	134
q7	974	598	597	597
q8	9215	2088	2053	2053
q9	9100	6511	6477	6477
q10	9002	3761	3734	3734
q11	480	242	249	242
q12	434	228	228	228
q13	18762	2953	2972	2953
q14	285	229	233	229
q15	515	493	497	493
q16	526	380	378	378
q17	987	641	682	641
q18	8140	7569	7502	7502
q19	8791	1592	1560	1560
q20	694	313	317	313
q21	4823	3159	3208	3159
q22	386	334	337	334
Total cold run time: 121089 ms
Total hot run time: 40116 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4427	4225	4207	4207
q2	370	273	275	273
q3	3221	2940	2900	2900
q4	2064	1813	1720	1720
q5	5544	5526	5623	5526
q6	223	134	138	134
q7	2214	1830	1857	1830
q8	3328	3411	3417	3411
q9	8684	8914	8690	8690
q10	4055	3776	3842	3776
q11	597	507	502	502
q12	829	640	636	636
q13	16644	3128	3195	3128
q14	306	276	271	271
q15	544	474	487	474
q16	507	442	444	442
q17	1790	1526	1497	1497
q18	8287	8015	7792	7792
q19	1822	1642	1602	1602
q20	2647	1847	1841	1841
q21	5233	4936	4880	4880
q22	653	539	535	535
Total cold run time: 73989 ms
Total hot run time: 56067 ms

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17612	4317	4306	4306
q2	2030	183	190	183
q3	10459	1214	1145	1145
q4	10188	860	768	768
q5	7453	2660	2590	2590
q6	228	136	143	136
q7	943	589	604	589
q8	9221	2068	2035	2035
q9	8709	6466	6446	6446
q10	9001	3725	3689	3689
q11	435	246	239	239
q12	433	229	226	226
q13	17804	2988	2966	2966
q14	270	223	220	220
q15	528	473	482	473
q16	521	383	383	383
q17	968	615	625	615
q18	7895	7455	7374	7374
q19	4088	1490	1461	1461
q20	646	326	330	326
q21	4963	3175	3817	3175
q22	392	344	355	344
Total cold run time: 114787 ms
Total hot run time: 39689 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4356	4247	4251	4247
q2	373	262	269	262
q3	2960	2695	2958	2695
q4	2004	1687	1726	1687
q5	5624	5576	5455	5455
q6	221	136	129	129
q7	2173	1870	1876	1870
q8	3259	3465	3439	3439
q9	8733	8621	8754	8621
q10	4079	3867	3748	3748
q11	593	479	488	479
q12	796	654	630	630
q13	16185	3192	3163	3163
q14	304	281	295	281
q15	537	488	483	483
q16	495	452	426	426
q17	1769	1492	1527	1492
q18	8042	7841	7993	7841
q19	1832	1677	1604	1604
q20	3050	1918	1874	1874
q21	5253	4898	4901	4898
q22	651	547	556	547
Total cold run time: 73289 ms
Total hot run time: 55871 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 175335 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 43bf61e036f03df54d4890e4cd0e457e41940a45, data reload: false

query1	925	378	376	376
query2	6473	2411	2481	2411
query3	6634	210	211	210
query4	18786	17442	17462	17442
query5	3564	493	484	484
query6	239	158	167	158
query7	4582	294	291	291
query8	321	294	289	289
query9	8488	2424	2422	2422
query10	564	315	284	284
query11	10489	9969	9934	9934
query12	122	89	84	84
query13	1635	376	370	370
query14	9993	7876	8369	7876
query15	227	197	183	183
query16	7433	268	289	268
query17	1865	542	521	521
query18	1220	269	270	269
query19	196	160	154	154
query20	96	85	82	82
query21	213	128	126	126
query22	4454	4134	4344	4134
query23	33960	33742	33851	33742
query24	10511	2942	2816	2816
query25	582	389	382	382
query26	729	163	157	157
query27	2356	341	328	328
query28	5798	2199	2126	2126
query29	902	647	624	624
query30	255	155	154	154
query31	979	795	768	768
query32	95	55	56	55
query33	656	283	289	283
query34	884	488	467	467
query35	753	671	629	629
query36	1107	1009	995	995
query37	150	79	82	79
query38	2954	2814	2878	2814
query39	908	832	856	832
query40	221	138	133	133
query41	56	53	51	51
query42	113	108	105	105
query43	604	555	537	537
query44	1089	740	735	735
query45	194	171	163	163
query46	1084	757	732	732
query47	1883	1788	1783	1783
query48	377	306	297	297
query49	826	413	420	413
query50	791	393	402	393
query51	6896	6938	6769	6769
query52	119	93	95	93
query53	360	296	293	293
query54	869	447	462	447
query55	74	80	73	73
query56	292	270	265	265
query57	1094	1043	1054	1043
query58	252	275	251	251
query59	3463	3378	3285	3285
query60	302	277	292	277
query61	105	94	92	92
query62	602	444	455	444
query63	332	292	297	292
query64	8480	2270	1823	1823
query65	3200	3096	3096	3096
query66	751	337	390	337
query67	15380	15033	14954	14954
query68	4483	533	534	533
query69	496	417	367	367
query70	1154	1062	1044	1044
query71	375	283	276	276
query72	6843	5298	5405	5298
query73	747	331	327	327
query74	5887	5613	5552	5552
query75	3323	2649	2641	2641
query76	2263	940	947	940
query77	439	306	308	306
query78	10397	9812	9661	9661
query79	2161	523	519	519
query80	2172	461	471	461
query81	607	218	221	218
query82	1063	106	111	106
query83	311	173	170	170
query84	268	86	91	86
query85	1127	291	279	279
query86	415	313	341	313
query87	3293	3111	3062	3062
query88	2970	2365	2371	2365
query89	482	396	390	390
query90	1672	191	191	191
query91	137	102	102	102
query92	61	53	55	53
query93	1483	510	500	500
query94	1177	191	186	186
query95	394	315	317	315
query96	584	266	266	266
query97	3190	3056	2982	2982
query98	226	200	193	193
query99	1276	884	838	838
Total cold run time: 263383 ms
Total hot run time: 175335 ms

@doris-robot
Copy link

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

query1	0.04	0.04	0.03
query2	0.08	0.04	0.04
query3	0.22	0.05	0.05
query4	1.68	0.07	0.07
query5	0.49	0.48	0.48
query6	1.13	0.74	0.72
query7	0.02	0.01	0.02
query8	0.05	0.04	0.04
query9	0.53	0.47	0.48
query10	0.54	0.54	0.54
query11	0.16	0.11	0.11
query12	0.14	0.12	0.12
query13	0.60	0.58	0.60
query14	0.78	0.78	0.77
query15	0.83	0.82	0.80
query16	0.38	0.37	0.36
query17	0.97	1.03	0.98
query18	0.21	0.25	0.26
query19	1.79	1.69	1.66
query20	0.01	0.00	0.00
query21	15.40	0.67	0.67
query22	4.16	6.47	2.61
query23	18.30	1.31	1.23
query24	2.17	0.21	0.21
query25	0.15	0.08	0.08
query26	0.26	0.18	0.17
query27	0.09	0.10	0.07
query28	13.29	1.02	0.99
query29	12.58	3.28	3.29
query30	0.26	0.07	0.06
query31	2.89	0.39	0.37
query32	3.26	0.46	0.47
query33	2.88	2.90	2.92
query34	17.15	4.37	4.44
query35	4.50	4.51	4.46
query36	0.66	0.47	0.46
query37	0.19	0.15	0.15
query38	0.15	0.15	0.15
query39	0.04	0.03	0.03
query40	0.17	0.15	0.14
query41	0.10	0.05	0.05
query42	0.06	0.05	0.05
query43	0.05	0.03	0.03
Total cold run time: 109.41 s
Total hot run time: 31.07 s

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

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

@github-actions
Copy link
Contributor

PR approved by anyone and no changes requested.

Copy link
Contributor

@dataroaring dataroaring left a comment

Choose a reason for hiding this comment

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

LGTM

@dataroaring dataroaring merged commit 8befc0b into apache:master Jun 24, 2024
@w41ter w41ter deleted the fix_ingesting_binlog_rollback branch June 24, 2024 13:00
dataroaring pushed a commit that referenced this pull request Jun 26, 2024
…ng txn (#36551)

Generally speaking, as long as a rowset has a version, it can be
considered not to be in a pending state. However, if the rowset was
created through ingesting binlogs, it will have a version but should
still be considered in a pending state because the ingesting txn has not
yet been committed.

This PR updates the condition for determining the pending state. If a
rowset is COMMITTED, the txn should be allowed to roll back even if a
version exists.
w41ter added a commit to w41ter/incubator-doris that referenced this pull request Jul 8, 2024
…ng txn

Generally speaking, as long as a rowset has a version, it can be
considered not to be in a pending state. However, if the rowset was
created through ingesting binlogs, it will have a version but should
still be considered in a pending state because the ingesting txn has not
yet been committed.

This PR updates the condition for determining the pending state. If a
rowset is COMMITTED, the txn should be allowed to roll back even if a
version exists.

Cherry-pick apache#36551
w41ter added a commit to w41ter/incubator-doris that referenced this pull request Jul 8, 2024
…ng txn

Generally speaking, as long as a rowset has a version, it can be
considered not to be in a pending state. However, if the rowset was
created through ingesting binlogs, it will have a version but should
still be considered in a pending state because the ingesting txn has not
yet been committed.

This PR updates the condition for determining the pending state. If a
rowset is COMMITTED, the txn should be allowed to roll back even if a
version exists.

Cherry-pick apache#36551
w41ter added a commit to w41ter/incubator-doris that referenced this pull request Jul 8, 2024
…ng txn

Generally speaking, as long as a rowset has a version, it can be
considered not to be in a pending state. However, if the rowset was
created through ingesting binlogs, it will have a version but should
still be considered in a pending state because the ingesting txn has not
yet been committed.

This PR updates the condition for determining the pending state. If a
rowset is COMMITTED, the txn should be allowed to roll back even if a
version exists.

Cherry-pick apache#36551
w41ter added a commit to w41ter/incubator-doris that referenced this pull request Jul 8, 2024
…ng txn

Generally speaking, as long as a rowset has a version, it can be
considered not to be in a pending state. However, if the rowset was
created through ingesting binlogs, it will have a version but should
still be considered in a pending state because the ingesting txn has not
yet been committed.

This PR updates the condition for determining the pending state. If a
rowset is COMMITTED, the txn should be allowed to roll back even if a
version exists.

Cherry-pick apache#36551
w41ter added a commit to w41ter/incubator-doris that referenced this pull request Jul 9, 2024
…ng txn

Generally speaking, as long as a rowset has a version, it can be
considered not to be in a pending state. However, if the rowset was
created through ingesting binlogs, it will have a version but should
still be considered in a pending state because the ingesting txn has not
yet been committed.

This PR updates the condition for determining the pending state. If a
rowset is COMMITTED, the txn should be allowed to roll back even if a
version exists.

Cherry-pick apache#36551
w41ter added a commit to w41ter/incubator-doris that referenced this pull request Jul 9, 2024
…ng txn

Generally speaking, as long as a rowset has a version, it can be
considered not to be in a pending state. However, if the rowset was
created through ingesting binlogs, it will have a version but should
still be considered in a pending state because the ingesting txn has not
yet been committed.

This PR updates the condition for determining the pending state. If a
rowset is COMMITTED, the txn should be allowed to roll back even if a
version exists.

Cherry-pick apache#36551
w41ter added a commit to w41ter/incubator-doris that referenced this pull request Jul 9, 2024
…ng txn

Generally speaking, as long as a rowset has a version, it can be
considered not to be in a pending state. However, if the rowset was
created through ingesting binlogs, it will have a version but should
still be considered in a pending state because the ingesting txn has not
yet been committed.

This PR updates the condition for determining the pending state. If a
rowset is COMMITTED, the txn should be allowed to roll back even if a
version exists.

Cherry-pick apache#36551
w41ter added a commit to w41ter/incubator-doris that referenced this pull request Jul 9, 2024
…ng txn

Generally speaking, as long as a rowset has a version, it can be
considered not to be in a pending state. However, if the rowset was
created through ingesting binlogs, it will have a version but should
still be considered in a pending state because the ingesting txn has not
yet been committed.

This PR updates the condition for determining the pending state. If a
rowset is COMMITTED, the txn should be allowed to roll back even if a
version exists.

Cherry-pick apache#36551
dataroaring pushed a commit that referenced this pull request Jul 10, 2024
…ng txn (#37417)

Generally speaking, as long as a rowset has a version, it can be
considered not to be in a pending state. However, if the rowset was
created through ingesting binlogs, it will have a version but should
still be considered in a pending state because the ingesting txn has not
yet been committed.

This PR updates the condition for determining the pending state. If a
rowset is COMMITTED, the txn should be allowed to roll back even if a
version exists.

Cherry-pick #36551
w41ter added a commit to w41ter/incubator-doris that referenced this pull request Jul 10, 2024
…ng txn

Generally speaking, as long as a rowset has a version, it can be
considered not to be in a pending state. However, if the rowset was
created through ingesting binlogs, it will have a version but should
still be considered in a pending state because the ingesting txn has not
yet been committed.

This PR updates the condition for determining the pending state. If a
rowset is COMMITTED, the txn should be allowed to roll back even if a
version exists.

Cherry-pick apache#36551
w41ter added a commit to w41ter/incubator-doris that referenced this pull request Jul 10, 2024
…ng txn

Generally speaking, as long as a rowset has a version, it can be
considered not to be in a pending state. However, if the rowset was
created through ingesting binlogs, it will have a version but should
still be considered in a pending state because the ingesting txn has not
yet been committed.

This PR updates the condition for determining the pending state. If a
rowset is COMMITTED, the txn should be allowed to roll back even if a
version exists.

Cherry-pick apache#36551
dataroaring pushed a commit that referenced this pull request Jul 10, 2024
…ng txn (#37415)

Generally speaking, as long as a rowset has a version, it can be
considered not to be in a pending state. However, if the rowset was
created through ingesting binlogs, it will have a version but should
still be considered in a pending state because the ingesting txn has not
yet been committed.

This PR updates the condition for determining the pending state. If a
rowset is COMMITTED, the txn should be allowed to roll back even if a
version exists.

Cherry-pick #36551
mongo360 pushed a commit to mongo360/doris that referenced this pull request Aug 16, 2024
…ng txn (apache#37415)

Generally speaking, as long as a rowset has a version, it can be
considered not to be in a pending state. However, if the rowset was
created through ingesting binlogs, it will have a version but should
still be considered in a pending state because the ingesting txn has not
yet been committed.

This PR updates the condition for determining the pending state. If a
rowset is COMMITTED, the txn should be allowed to roll back even if a
version exists.

Cherry-pick apache#36551
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants