Skip to content

Conversation

@Yukang-Lian
Copy link
Collaborator

@Yukang-Lian Yukang-Lian commented Apr 23, 2024

The usage is curl http://{ip}:{host}/api/compaction/run_status?tablet_id={tablet_id}
e.g. curl http://127.0.0.1:8040/api/compaction/run_status?tablet_id=10084

If full compaction is running, the output will be

{
"status" : "Success",
"run_status" : true,
"msg" : "compaction task for this tablet is running",
"tablet_id" : 10084,
"compact_type" : "full"
}

else the ouput will be

{
"status" : "Success",
"run_status" : false,
"msg" : "compaction task for this tablet is not running",
"tablet_id" : 10084,
"compact_type" : "full"
}

Proposed changes

Issue Number: close #xxx

Further comments

If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...

@doris-robot
Copy link

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

Since 2024-03-18, the Document has been moved to doris-website.
See Doris Document.

@github-actions
Copy link
Contributor

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

@Yukang-Lian
Copy link
Collaborator Author

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: 35.23% (8916/25305)
Line Coverage: 26.99% (73343/271775)
Region Coverage: 26.15% (37869/144833)
Branch Coverage: 22.97% (19288/83982)
Coverage Report: http://coverage.selectdb-in.cc/coverage/5455bef28176dd7464e146a666ce57a4c9cce8cb_5455bef28176dd7464e146a666ce57a4c9cce8cb/report/index.html

@doris-robot
Copy link

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

query1	0.04	0.03	0.03
query2	0.08	0.03	0.04
query3	0.24	0.06	0.06
query4	1.65	0.09	0.10
query5	0.50	0.52	0.50
query6	1.32	0.86	0.82
query7	0.02	0.01	0.02
query8	0.06	0.04	0.04
query9	0.50	0.45	0.44
query10	0.50	0.51	0.50
query11	0.15	0.11	0.10
query12	0.14	0.11	0.10
query13	0.66	0.67	0.65
query14	0.93	1.03	0.94
query15	0.87	0.84	0.85
query16	0.36	0.39	0.37
query17	1.00	1.01	0.99
query18	0.21	0.23	0.25
query19	1.85	1.81	1.74
query20	0.01	0.02	0.01
query21	15.40	0.68	0.66
query22	5.06	7.47	1.46
query23	18.29	1.36	1.32
query24	1.98	0.26	0.24
query25	0.16	0.10	0.10
query26	0.28	0.17	0.16
query27	0.10	0.10	0.09
query28	13.34	1.02	1.01
query29	12.67	3.40	3.35
query30	0.26	0.06	0.06
query31	2.84	0.40	0.39
query32	3.22	0.49	0.49
query33	2.71	2.77	2.76
query34	17.34	4.58	4.44
query35	4.55	4.66	4.48
query36	0.66	0.47	0.47
query37	0.22	0.17	0.18
query38	0.19	0.18	0.19
query39	0.06	0.05	0.05
query40	0.18	0.15	0.16
query41	0.11	0.06	0.06
query42	0.07	0.05	0.05
query43	0.05	0.04	0.04
Total cold run time: 110.83 s
Total hot run time: 30.67 s

@Yukang-Lian
Copy link
Collaborator Author

run buildall

@github-actions
Copy link
Contributor

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

@carlvinhust2012
Copy link
Contributor

LGTM

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 35.19% (8916/25336)
Line Coverage: 26.97% (73340/271956)
Region Coverage: 26.14% (37874/144885)
Branch Coverage: 22.97% (19290/83974)
Coverage Report: http://coverage.selectdb-in.cc/coverage/99e5b3448289ea216329f38c8eccdd9a72d28c46_99e5b3448289ea216329f38c8eccdd9a72d28c46/report/index.html

@Yukang-Lian Yukang-Lian force-pushed the Support_Full_Compaction_Run_Status branch from 99e5b34 to 5f4eefc Compare April 24, 2024 12:18
@Yukang-Lian
Copy link
Collaborator Author

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: 35.20% (8918/25334)
Line Coverage: 26.96% (73285/271846)
Region Coverage: 26.15% (37883/144863)
Branch Coverage: 22.97% (19284/83966)
Coverage Report: http://coverage.selectdb-in.cc/coverage/5f4eefcee7bbd84bc950f658a33af196ace78dd0_5f4eefcee7bbd84bc950f658a33af196ace78dd0/report/index.html

@github-actions
Copy link
Contributor

PR approved by anyone and no changes requested.

…t_id={tablet_id}`

e.g. `curl http://127.0.0.1:8040/api/compaction/run_status?tablet_id=10084`

If full compaction is running, the output will be
```
{
"status" : "Success",
"run_status" : true,
"msg" : "compaction task for this tablet is running",
"tablet_id" : 10084,
"compact_type" : "full"
}
```
else the ouput will be
```
{
"status" : "Success",
"run_status" : false,
"msg" : "compaction task for this tablet is not running",
"tablet_id" : 10084,
"compact_type" : "full"
}
```
@Yukang-Lian Yukang-Lian force-pushed the Support_Full_Compaction_Run_Status branch from 5f4eefc to 2b3c725 Compare April 26, 2024 16:39
@Yukang-Lian
Copy link
Collaborator Author

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: 35.52% (8923/25124)
Line Coverage: 27.13% (73382/270525)
Region Coverage: 26.31% (37907/144071)
Branch Coverage: 23.10% (19301/83568)
Coverage Report: http://coverage.selectdb-in.cc/coverage/2b3c7252fa1f8aefbe1f7d1f94bf0a8789e25122_2b3c7252fa1f8aefbe1f7d1f94bf0a8789e25122/report/index.html

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17658	4687	4238	4238
q2	2023	195	210	195
q3	10746	1196	1180	1180
q4	10941	762	749	749
q5	7638	2759	2741	2741
q6	219	131	136	131
q7	1050	637	614	614
q8	9389	2149	2082	2082
q9	9069	6785	6745	6745
q10	9159	3784	3914	3784
q11	512	253	247	247
q12	596	234	222	222
q13	18221	2925	2978	2925
q14	269	227	242	227
q15	521	477	484	477
q16	535	388	379	379
q17	971	665	767	665
q18	8080	7367	7411	7367
q19	3707	1545	1454	1454
q20	652	311	307	307
q21	5086	3357	3342	3342
q22	337	288	276	276
Total cold run time: 117379 ms
Total hot run time: 40347 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4351	4230	4244	4230
q2	383	264	276	264
q3	3005	2787	2734	2734
q4	1878	1539	1599	1539
q5	5331	5335	5313	5313
q6	206	124	126	124
q7	2291	1885	1855	1855
q8	3216	3376	3340	3340
q9	8640	8595	8653	8595
q10	3939	3699	3689	3689
q11	573	498	496	496
q12	761	595	575	575
q13	17292	2938	2975	2938
q14	323	283	268	268
q15	518	479	458	458
q16	474	413	437	413
q17	1783	1501	1478	1478
q18	7603	7586	7361	7361
q19	1662	1540	1596	1540
q20	1945	1783	1750	1750
q21	4903	4754	4822	4754
q22	558	489	490	489
Total cold run time: 71635 ms
Total hot run time: 54203 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 185516 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 2b3c7252fa1f8aefbe1f7d1f94bf0a8789e25122, data reload: false

query1	905	364	340	340
query2	6439	2375	2233	2233
query3	6656	201	201	201
query4	24739	21155	21109	21109
query5	4150	429	412	412
query6	304	182	177	177
query7	4597	292	284	284
query8	256	185	183	183
query9	8447	2354	2344	2344
query10	424	237	242	237
query11	14737	14025	14164	14025
query12	136	85	84	84
query13	1632	350	356	350
query14	9765	7745	7459	7459
query15	229	168	175	168
query16	7950	255	259	255
query17	1865	547	539	539
query18	2047	278	269	269
query19	198	153	155	153
query20	91	87	85	85
query21	195	123	127	123
query22	5098	4872	4900	4872
query23	33882	33122	33307	33122
query24	11807	2946	2886	2886
query25	678	376	380	376
query26	1761	152	149	149
query27	2985	316	319	316
query28	7611	2003	1996	1996
query29	1049	637	633	633
query30	285	155	154	154
query31	979	734	726	726
query32	90	58	55	55
query33	750	252	251	251
query34	1035	490	479	479
query35	804	687	675	675
query36	1081	919	934	919
query37	158	66	67	66
query38	3119	2976	3015	2976
query39	1598	1547	1555	1547
query40	286	126	126	126
query41	47	46	41	41
query42	109	97	95	95
query43	571	546	520	520
query44	1211	751	743	743
query45	277	274	277	274
query46	1069	691	727	691
query47	1936	1838	1846	1838
query48	363	295	295	295
query49	1188	410	409	409
query50	773	376	397	376
query51	6811	6768	6778	6768
query52	104	89	92	89
query53	350	292	280	280
query54	328	268	237	237
query55	76	75	80	75
query56	243	229	232	229
query57	1212	1149	1138	1138
query58	227	197	199	197
query59	3286	3092	2927	2927
query60	269	236	232	232
query61	108	170	87	87
query62	642	451	439	439
query63	304	288	281	281
query64	9475	7172	7145	7145
query65	3075	3006	3041	3006
query66	1375	333	327	327
query67	15523	14915	14886	14886
query68	10159	554	545	545
query69	621	305	298	298
query70	1376	1134	1121	1121
query71	516	265	261	261
query72	8982	2555	2441	2441
query73	1619	323	324	323
query74	6676	6133	6066	6066
query75	5270	2643	2611	2611
query76	6554	1072	969	969
query77	656	259	262	259
query78	11222	10272	10246	10246
query79	11464	518	515	515
query80	2153	430	418	418
query81	493	224	221	221
query82	214	96	91	91
query83	214	157	159	157
query84	262	83	83	83
query85	1115	261	255	255
query86	333	284	308	284
query87	3379	3158	3127	3127
query88	5534	2324	2328	2324
query89	522	377	378	377
query90	2009	189	184	184
query91	124	100	95	95
query92	56	48	46	46
query93	6611	506	493	493
query94	1367	183	179	179
query95	400	299	293	293
query96	611	266	257	257
query97	3179	2923	2936	2923
query98	225	220	213	213
query99	1050	873	862	862
Total cold run time: 316736 ms
Total hot run time: 185516 ms

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 dc713f9 into apache:master Apr 27, 2024
@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Apr 27, 2024
@github-actions
Copy link
Contributor

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

Yukang-Lian added a commit to Yukang-Lian/doris that referenced this pull request Apr 29, 2024
…tion (apache#34043)

* The usage is `curl http://{ip}:{host}/api/compaction/run_status?tablet_id={tablet_id}`
e.g. `curl http://127.0.0.1:8040/api/compaction/run_status?tablet_id=10084`

If full compaction is running, the output will be
```
{
"status" : "Success",
"run_status" : true,
"msg" : "compaction task for this tablet is running",
"tablet_id" : 10084,
"compact_type" : "full"
}
```
else the ouput will be
```
{
"status" : "Success",
"run_status" : false,
"msg" : "compaction task for this tablet is not running",
"tablet_id" : 10084,
"compact_type" : "full"
}
```

* 2
yiguolei pushed a commit that referenced this pull request Apr 29, 2024
* [Enhancement](full compaction) Add run status support for full compaction (#34043)

* The usage is `curl http://{ip}:{host}/api/compaction/run_status?tablet_id={tablet_id}`
e.g. `curl http://127.0.0.1:8040/api/compaction/run_status?tablet_id=10084`

If full compaction is running, the output will be
```
{
"status" : "Success",
"run_status" : true,
"msg" : "compaction task for this tablet is running",
"tablet_id" : 10084,
"compact_type" : "full"
}
```
else the ouput will be
```
{
"status" : "Success",
"run_status" : false,
"msg" : "compaction task for this tablet is not running",
"tablet_id" : 10084,
"compact_type" : "full"
}
```

* 2

* 2

* [Fix](partial update) Fix rowset not found error when doing partial update (#34112)

Cause: In the logic of partial column updates, the existing data columns are read first, and then the data is supplemented and written back. During the reading process, initialization involves initially fetching rowset IDs, and the actual rowset object is fetched only when needed later. However, between fetching the rowset IDs and the rowset object, compaction may occur, turning the old rowset into a stale rowset. If too much time passes, the stale rowset might be directly deleted. Thus, when the rowset object is needed for an update, it cannot be found. Although the update operation with partial column logic should be able to read all keys and should not encounter new keys, if the rowset disappears, the Backend (BE) will consider these keys as missing. Consequently, it will check whether other columns have default values or are nullable. If this check fails, the aforementioned error is thrown.

Solution: To avoid such issues during partial column updates, the initialization step should involve fetching both the rowset IDs and the shared pointer to the rowset object simultaneously. This ensures that the rowset can always be found during data retrieval.
Yukang-Lian added a commit to Yukang-Lian/doris that referenced this pull request Jul 10, 2024
…tion (apache#34043)

* The usage is `curl http://{ip}:{host}/api/compaction/run_status?tablet_id={tablet_id}`
e.g. `curl http://127.0.0.1:8040/api/compaction/run_status?tablet_id=10084`

If full compaction is running, the output will be
```
{
"status" : "Success",
"run_status" : true,
"msg" : "compaction task for this tablet is running",
"tablet_id" : 10084,
"compact_type" : "full"
}
```
else the ouput will be
```
{
"status" : "Success",
"run_status" : false,
"msg" : "compaction task for this tablet is not running",
"tablet_id" : 10084,
"compact_type" : "full"
}
```

* 2
Yukang-Lian added a commit to Yukang-Lian/doris that referenced this pull request Jul 14, 2024
…tion (apache#34043)

* The usage is `curl http://{ip}:{host}/api/compaction/run_status?tablet_id={tablet_id}`
e.g. `curl http://127.0.0.1:8040/api/compaction/run_status?tablet_id=10084`

If full compaction is running, the output will be
```
{
"status" : "Success",
"run_status" : true,
"msg" : "compaction task for this tablet is running",
"tablet_id" : 10084,
"compact_type" : "full"
}
```
else the ouput will be
```
{
"status" : "Success",
"run_status" : false,
"msg" : "compaction task for this tablet is not running",
"tablet_id" : 10084,
"compact_type" : "full"
}
```

* 2
dataroaring pushed a commit that referenced this pull request Jul 15, 2024
…n status support for full compaction (#34043)" (#37607)

Pick #34043

The usage is `curl
http://{ip}:{host}/api/compaction/run_status?tablet_id={tablet_id}` e.g.
`curl http://127.0.0.1:8040/api/compaction/run_status?tablet_id=10084`

If full compaction is running, the output will be
```
{
"status" : "Success",
"run_status" : true,
"msg" : "compaction task for this tablet is running",
"tablet_id" : 10084,
"compact_type" : "full"
}
```
else the ouput will be
```
{
"status" : "Success",
"run_status" : false,
"msg" : "compaction task for this tablet is not running",
"tablet_id" : 10084,
"compact_type" : "full"
}
```

## Proposed changes

Issue Number: close #xxx

<!--Describe your changes.-->
mongo360 pushed a commit to mongo360/doris that referenced this pull request Aug 16, 2024
…n status support for full compaction (apache#34043)" (apache#37607)

Pick apache#34043

The usage is `curl
http://{ip}:{host}/api/compaction/run_status?tablet_id={tablet_id}` e.g.
`curl http://127.0.0.1:8040/api/compaction/run_status?tablet_id=10084`

If full compaction is running, the output will be
```
{
"status" : "Success",
"run_status" : true,
"msg" : "compaction task for this tablet is running",
"tablet_id" : 10084,
"compact_type" : "full"
}
```
else the ouput will be
```
{
"status" : "Success",
"run_status" : false,
"msg" : "compaction task for this tablet is not running",
"tablet_id" : 10084,
"compact_type" : "full"
}
```

## Proposed changes

Issue Number: close #xxx

<!--Describe your changes.-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. dev/2.0.13-merged dev/2.1.3-merged reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants