You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by "TsukiokaKogane (via GitHub)" <gi...@apache.org> on 2026/02/05 15:57:09 UTC
[PR] [Feature] doris cross-cluster insert [doris]
TsukiokaKogane opened a new pull request, #60557:
URL: https://github.com/apache/doris/pull/60557
### What problem does this PR solve?
Issue Number: close #xxx
Related PR: #60295
Problem Summary:
1. support insert & insert overwrite on remote doris catalog
2. support temporary partitions on remote doris catalog
3. fix remote doris catalog rpc timeout unit
4. **DO NOT** support txn insert & group commit
### Release note
None
### Check List (For Author)
- Test <!-- At least one of them must be included. -->
- [x] 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 <!-- Add your reason? -->
- Behavior changed:
- [ ] No.
- [x] Yes. <!-- Explain the behavior change -->
- Does this need documentation?
- [ ] No.
- [ ] Yes. <!-- Add document PR link here. eg: https://github.com/apache/doris-website/pull/1214 -->
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR should merge into -->
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3869898775
# Cloud UT Coverage Report
Increment line coverage ` ` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/dce833ba92cf42dfecba11670310bb03dcf31394_dce833ba92cf42dfecba11670310bb03dcf31394_cloud/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/dce833ba92cf42dfecba11670310bb03dcf31394_dce833ba92cf42dfecba11670310bb03dcf31394_cloud/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 79.35% (1795/2262) |
| Line Coverage | 64.88% (31968/49269) |
| Region Coverage | 65.60% (15956/24323) |
| Branch Coverage | 56.12% (8482/15114) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3871165273
<details>
<summary>TPC-H: <b>Total hot run time: 30363 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit ef0c94e649ed972209a13ed67e7e65fa49ea4dc9, data reload: false
------ Round 1 ----------------------------------
q1 17591 4505 4291 4291
q2 2034 341 254 254
q3 10165 1262 733 733
q4 10201 767 311 311
q5 7540 2226 1918 1918
q6 203 185 157 157
q7 879 740 611 611
q8 9268 1390 1117 1117
q9 4666 4636 4614 4614
q10 6772 1932 1567 1567
q11 495 309 280 280
q12 333 375 227 227
q13 17757 4049 3278 3278
q14 231 240 209 209
q15 884 814 815 814
q16 684 656 625 625
q17 690 798 550 550
q18 6620 5960 5720 5720
q19 1237 985 627 627
q20 498 490 402 402
q21 2699 1848 1781 1781
q22 356 327 277 277
Total cold run time: 101803 ms
Total hot run time: 30363 ms
----- Round 2, with runtime_filter_mode=off -----
q1 4369 4306 4359 4306
q2 265 347 264 264
q3 2105 2712 2197 2197
q4 1370 1750 1286 1286
q5 4336 4160 4249 4160
q6 214 181 134 134
q7 1857 1765 1648 1648
q8 2463 2703 2453 2453
q9 7680 7711 7461 7461
q10 2900 3055 2692 2692
q11 538 469 459 459
q12 722 770 632 632
q13 3958 4401 3503 3503
q14 274 297 280 280
q15 1004 838 786 786
q16 693 726 677 677
q17 1151 1293 1348 1293
q18 8109 8038 8014 8014
q19 855 896 901 896
q20 2096 2149 2024 2024
q21 5148 4510 4381 4381
q22 537 549 501 501
Total cold run time: 52644 ms
Total hot run time: 50047 ms
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3957225068
run build all
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3957301899
# Cloud UT Coverage Report
Increment line coverage ` ` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/197a756ad3f60301963dce8f4d370fe57420930e_197a756ad3f60301963dce8f4d370fe57420930e_cloud/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/197a756ad3f60301963dce8f4d370fe57420930e_197a756ad3f60301963dce8f4d370fe57420930e_cloud/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 79.33% (1796/2264) |
| Line Coverage | 64.83% (32020/49393) |
| Region Coverage | 65.50% (15970/24383) |
| Branch Coverage | 56.00% (8494/15168) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3899467321
# BE Regression && UT Coverage Report
Increment line coverage `66.67% (16/24)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 71.80% (26066/36304) |
| Line Coverage | 54.47% (272895/501013) |
| Region Coverage | 51.97% (227366/437508) |
| Branch Coverage | 53.44% (97618/182673) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "morningman (via GitHub)" <gi...@apache.org>.
morningman commented on code in PR #60557:
URL: https://github.com/apache/doris/pull/60557#discussion_r2781524984
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/doris/FeServiceClient.java:
##########
@@ -173,42 +301,462 @@ public RemoteOlapTable getOlapTable(String dbName, String table, long tableId, L
removedPartitions = new ArrayList<>();
}
remoteOlapTable.rebuildPartitions(partitions, updatedPartitions, removedPartitions);
+ // rebuild temp partitions
+ if (result.isSetUpdatedTempPartitions() && result.getUpdatedTempPartitionsSize() > 0) {
+ updatedPartitions = new ArrayList<>(result.getUpdatedTempPartitionsSize());
+ for (ByteBuffer buffer : result.getUpdatedTempPartitions()) {
+ try (ByteArrayInputStream in =
+ new ByteArrayInputStream(buffer.array(), buffer.position(), buffer.remaining());
+ DataInputStream dataInputStream = new DataInputStream(in)) {
+ String partitionStr = Text.readString(dataInputStream);
+ Partition partition = GsonUtils.GSON.fromJson(partitionStr, Partition.class);
+ updatedPartitions.add(partition);
+ }
+ }
+ }
+ removedPartitions = result.getRemovedTempPartitions();
+ if (removedPartitions == null) {
+ removedPartitions = new ArrayList<>();
+ }
+ remoteOlapTable.rebuildTempPartitions(tempPartitions, updatedPartitions, removedPartitions);
return remoteOlapTable;
- }, msg, timeout);
+ }, msg, timeoutMs);
+ }
+
+ public TBeginRemoteTxnResult beginRemoteTxn(TBeginRemoteTxnRequest request) throws Exception {
+ request.setUser(user);
+ request.setPasswd(password);
+ String msg = String.format("failed to begin remote txn from remote doris:%s, label=%s", name,
+ request.getLabel());
+ long startTime = System.currentTimeMillis();
+ TBeginRemoteTxnResult result;
+ try {
+ result = masterCallWithRetry(client -> client.beginRemoteTxn(request), msg,
+ Math.max(timeoutMs, (int) request.getTimeoutMs()));
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("begin remote txn for catalog {} failed, cost={}ms", name, costMs, e);
+ throw e;
+ }
+
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.info("begin remote txn for catalog {} finished, cost={}ms, statusCode={}",
+ name, costMs, result.getStatus().getStatusCode());
+ return result;
+ }
+
+ public TCommitRemoteTxnResult commitRemoteTxn(TCommitRemoteTxnRequest request) throws Exception {
+ request.setUser(user);
+ request.setPasswd(password);
+ String msg = String.format("failed to commit remote txn from remote doris:%s, txnId=%d", name,
+ request.getTxnId());
+ long startTime = System.currentTimeMillis();
+ TCommitRemoteTxnResult result;
+ try {
+ result = masterCallWithRetry(client -> client.commitRemoteTxn(request), msg,
+ Math.max(timeoutMs, (int) request.getInsertVisibleTimeoutMs()));
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("commit remote txn for catalog {} failed, txnId={}, cost={}ms",
+ name, request.getTxnId(), costMs, e);
+ throw e;
+ }
+
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.info("commit remote txn for catalog {} finished, txnId={}, cost={}ms, statusCode={}",
+ name, request.getTxnId(), costMs, result.getStatus().getStatusCode());
+ return result;
+ }
+
+ public TAbortRemoteTxnResult abortRemoteTxn(TAbortRemoteTxnRequest request) throws Exception {
+ request.setUser(user);
+ request.setPasswd(password);
+ String msg = String.format("failed to abort remote txn from remote doris:%s, txnId=%d", name,
+ request.getTxnId());
+ long startTime = System.currentTimeMillis();
+ TAbortRemoteTxnResult result;
+ try {
+ result = masterCallWithRetry(client -> client.abortRemoteTxn(request), msg, timeoutMs);
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("abort remote txn for catalog {} failed, txnId={}, cost={}ms",
+ name, request.getTxnId(), costMs, e);
+ throw e;
+ }
+
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.info("abort remote txn for catalog {} finished, txnId={}, cost={}ms, statusCode={}",
+ name, request.getTxnId(), costMs, result.getStatus().getStatusCode());
+ return result;
}
private interface ThriftCall<T> {
public T call(FrontendService.Client client) throws Exception;
}
- private static class MasterResult<T> {
- boolean isMaster = true;
- T result;
- boolean hasError = false;
- String errorMsg;
+ public TNetworkAddress getMasterAddress() throws RuntimeException {
+ TMasterAddressRequest request = new TMasterAddressRequest();
+ request.setUser(user);
+ request.setPasswd(password);
+ long startTime = System.currentTimeMillis();
+ TMasterAddressResult result;
+ try {
+ result = masterCallWithRetry(client -> client.getMasterAddress(request),
+ "failed to get master address from remote doris:" + name, timeoutMs);
+ if (result.isSetMasterAddress()) {
+ master = result.getMasterAddress();
+ }
+ if (result.getStatus().getStatusCode() != TStatusCode.OK) {
+ throw new RuntimeException(result.getStatus().getErrorMsgs().get(0));
+ }
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("get master address for catalog {} failed, cost={}ms", name, costMs, e);
+ throw new RuntimeException(e.getMessage());
Review Comment:
`Util.getRootCauseMessage()` this one
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3871261736
# BE UT Coverage Report
Increment line coverage `13.33% (2/15)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/ef0c94e649ed972209a13ed67e7e65fa49ea4dc9_ef0c94e649ed972209a13ed67e7e65fa49ea4dc9/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/ef0c94e649ed972209a13ed67e7e65fa49ea4dc9_ef0c94e649ed972209a13ed67e7e65fa49ea4dc9/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 52.72% (19445/36883) |
| Line Coverage | 36.21% (181027/499913) |
| Region Coverage | 32.60% (140562/431180) |
| Branch Coverage | 33.63% (60883/181057) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3858288115
run buildall
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3858433738
# Cloud UT Coverage Report
Increment line coverage ` ` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/9f3938347c127a752b04e13d9f40db00f84820c1_9f3938347c127a752b04e13d9f40db00f84820c1_cloud/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/9f3938347c127a752b04e13d9f40db00f84820c1_9f3938347c127a752b04e13d9f40db00f84820c1_cloud/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 79.29% (1792/2260) |
| Line Coverage | 64.75% (31831/49158) |
| Region Coverage | 65.42% (15884/24280) |
| Branch Coverage | 55.97% (8439/15078) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3957469772
run buildall
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3875411041
# FE Regression Coverage Report
Increment line coverage ` 3.45% (44/1274)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_ef0c94e649ed972209a13ed67e7e65fa49ea4dc9_merge_fe/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_ef0c94e649ed972209a13ed67e7e65fa49ea4dc9_merge_fe/report/index.html)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3869179053
# Cloud UT Coverage Report
Increment line coverage ` ` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/0c8af71fa683293df3e943ebd237bb3029c468ca_0c8af71fa683293df3e943ebd237bb3029c468ca_cloud/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/0c8af71fa683293df3e943ebd237bb3029c468ca_0c8af71fa683293df3e943ebd237bb3029c468ca_cloud/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 79.35% (1795/2262) |
| Line Coverage | 64.87% (31962/49269) |
| Region Coverage | 65.53% (15940/24323) |
| Branch Coverage | 56.09% (8478/15114) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3897916289
run buildall
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3898556345
<details>
<summary>TPC-H: <b>Total hot run time: 29353 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit ee6a26df6cc55709ed3e058d2294a831dc77e153, data reload: false
------ Round 1 ----------------------------------
============================================
q1 17623 4479 4273 4273
q2 q3 10670 783 518 518
q4 4734 367 254 254
q5 8090 1203 1007 1007
q6 255 176 146 146
q7 806 852 663 663
q8 10655 1487 1333 1333
q9 6806 4820 4815 4815
q10 6866 1896 1638 1638
q11 442 250 254 250
q12 752 574 461 461
q13 17809 4306 3426 3426
q14 237 230 220 220
q15 935 798 797 797
q16 756 729 687 687
q17 858 898 418 418
q18 6234 5495 5406 5406
q19 1229 1039 913 913
q20 612 623 427 427
q21 4589 1921 1447 1447
q22 373 293 254 254
Total cold run time: 101331 ms
Total hot run time: 29353 ms
----- Round 2, with runtime_filter_mode=off -----
============================================
q1 4682 4540 4572 4540
q2 q3 1814 2205 1808 1808
q4 892 1172 793 793
q5 4066 4628 4764 4628
q6 187 174 136 136
q7 1806 1640 1533 1533
q8 2604 2711 2551 2551
q9 7581 7388 7322 7322
q10 2626 2825 2673 2673
q11 522 443 418 418
q12 494 593 447 447
q13 3922 4413 3638 3638
q14 279 291 284 284
q15 870 831 797 797
q16 738 784 738 738
q17 1218 1557 1302 1302
q18 7022 6898 6675 6675
q19 897 881 883 881
q20 2171 2292 2056 2056
q21 4121 3448 3336 3336
q22 478 454 404 404
Total cold run time: 48990 ms
Total hot run time: 46960 ms
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3899065702
# BE UT Coverage Report
Increment line coverage `4.17% (1/24)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/ee6a26df6cc55709ed3e058d2294a831dc77e153_ee6a26df6cc55709ed3e058d2294a831dc77e153/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/ee6a26df6cc55709ed3e058d2294a831dc77e153_ee6a26df6cc55709ed3e058d2294a831dc77e153/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 52.69% (19523/37051) |
| Line Coverage | 36.24% (182023/502262) |
| Region Coverage | 32.60% (141214/433131) |
| Branch Coverage | 33.64% (61216/181969) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on code in PR #60557:
URL: https://github.com/apache/doris/pull/60557#discussion_r2780986298
##########
gensrc/thrift/FrontendService.thrift:
##########
@@ -1662,13 +1662,178 @@ struct TGetOlapTableMetaRequest {
5: required i64 table_id
6: optional i32 version // todo serialize according to the version
7: optional list<TPartitionMeta> partitions // client owned partition meta
+ 8: optional list<TPartitionMeta> temp_partitions // client owned partition meta
}
struct TGetOlapTableMetaResult {
1: required Status.TStatus status
2: required binary table_meta
3: optional list<binary> updated_partitions
4: optional list<i64> removed_partitions
+ 5: optional list<binary> updated_temp_partitions
+ 6: optional list<i64> removed_temp_partitions
+}
+
+// Remote transaction request and Result definitions for cross-cluster export.
+// These structs are used by beginRemoteTxn/commitRemoteTxn/abortRemoteTxn RPCs.
+struct TBeginRemoteTxnRequest {
+ 1: required string user
Review Comment:
fixed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3870794958
be.INFO
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3858753986
<details>
<summary>TPC-H: <b>Total hot run time: 31323 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 9f3938347c127a752b04e13d9f40db00f84820c1, data reload: false
------ Round 1 ----------------------------------
q1 17617 4508 4290 4290
q2 2054 355 238 238
q3 10153 1364 770 770
q4 10211 824 325 325
q5 7499 2248 1990 1990
q6 193 178 147 147
q7 909 751 600 600
q8 9262 1405 1161 1161
q9 4847 4686 4653 4653
q10 6857 1960 1548 1548
q11 538 322 304 304
q12 336 387 230 230
q13 17778 4095 3252 3252
q14 241 234 218 218
q15 881 817 798 798
q16 672 681 642 642
q17 708 861 520 520
q18 6624 6218 6365 6218
q19 1201 1083 688 688
q20 575 545 421 421
q21 2924 2019 2068 2019
q22 380 335 291 291
Total cold run time: 102460 ms
Total hot run time: 31323 ms
----- Round 2, with runtime_filter_mode=off -----
q1 4618 4530 4678 4530
q2 264 342 272 272
q3 2466 2879 2389 2389
q4 1520 1937 1503 1503
q5 4636 4691 4697 4691
q6 228 186 139 139
q7 1953 1882 1745 1745
q8 2553 2367 2398 2367
q9 7691 7717 7420 7420
q10 2944 3124 2614 2614
q11 540 482 468 468
q12 675 730 617 617
q13 3818 4335 3613 3613
q14 290 296 269 269
q15 825 775 782 775
q16 661 690 636 636
q17 1096 1274 1285 1274
q18 7534 7362 7433 7362
q19 897 847 841 841
q20 1977 2104 1878 1878
q21 4597 4245 4078 4078
q22 560 544 506 506
Total cold run time: 52343 ms
Total hot run time: 49987 ms
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3858209545
# BE UT Coverage Report
Increment line coverage `13.33% (2/15)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/97168897275f4683257ec006a83a0f0b792a824d_97168897275f4683257ec006a83a0f0b792a824d/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/97168897275f4683257ec006a83a0f0b792a824d_97168897275f4683257ec006a83a0f0b792a824d/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 52.56% (19376/36862) |
| Line Coverage | 36.06% (180041/499291) |
| Region Coverage | 32.42% (139548/430471) |
| Branch Coverage | 33.42% (60437/180846) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on code in PR #60557:
URL: https://github.com/apache/doris/pull/60557#discussion_r2780986906
##########
gensrc/thrift/FrontendService.thrift:
##########
@@ -1662,13 +1662,178 @@ struct TGetOlapTableMetaRequest {
5: required i64 table_id
6: optional i32 version // todo serialize according to the version
7: optional list<TPartitionMeta> partitions // client owned partition meta
+ 8: optional list<TPartitionMeta> temp_partitions // client owned partition meta
}
struct TGetOlapTableMetaResult {
1: required Status.TStatus status
2: required binary table_meta
3: optional list<binary> updated_partitions
4: optional list<i64> removed_partitions
+ 5: optional list<binary> updated_temp_partitions
+ 6: optional list<i64> removed_temp_partitions
+}
+
+// Remote transaction request and Result definitions for cross-cluster export.
+// These structs are used by beginRemoteTxn/commitRemoteTxn/abortRemoteTxn RPCs.
+struct TBeginRemoteTxnRequest {
+ 1: required string user
+ 2: required string passwd
+ 3: optional string token
+ 4: required string db
Review Comment:
fixed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3869773306
run buildall
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3857538215
run buildall
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3869558473
<details>
<summary>ClickBench: <b>Total hot run time: 28.23 s</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 0c8af71fa683293df3e943ebd237bb3029c468ca, data reload: false
query1 0.05 0.05 0.05
query2 0.14 0.07 0.07
query3 0.32 0.08 0.08
query4 1.61 0.10 0.09
query5 0.27 0.24 0.24
query6 1.14 0.64 0.64
query7 0.03 0.03 0.03
query8 0.07 0.05 0.07
query9 0.58 0.51 0.50
query10 0.54 0.55 0.55
query11 0.26 0.13 0.14
query12 0.27 0.15 0.15
query13 0.62 0.61 0.61
query14 0.98 0.97 0.98
query15 0.91 0.82 0.81
query16 0.39 0.40 0.40
query17 1.06 0.99 0.99
query18 0.24 0.25 0.23
query19 2.00 1.87 1.86
query20 0.02 0.02 0.01
query21 15.40 0.35 0.30
query22 4.93 0.13 0.12
query23 15.38 0.45 0.29
query24 2.36 0.59 0.41
query25 0.11 0.11 0.12
query26 0.20 0.18 0.19
query27 0.11 0.12 0.11
query28 3.58 1.17 0.98
query29 12.51 4.07 3.29
query30 0.33 0.12 0.11
query31 2.80 0.68 0.44
query32 3.24 0.63 0.50
query33 3.00 3.03 3.13
query34 16.33 5.09 4.45
query35 4.49 4.44 4.43
query36 0.62 0.49 0.49
query37 0.31 0.08 0.08
query38 0.28 0.06 0.06
query39 0.08 0.05 0.05
query40 0.21 0.17 0.17
query41 0.13 0.07 0.08
query42 0.09 0.05 0.05
query43 0.06 0.06 0.05
Total cold run time: 98.05 s
Total hot run time: 28.23 s
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3871037940
# Cloud UT Coverage Report
Increment line coverage ` ` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/ef0c94e649ed972209a13ed67e7e65fa49ea4dc9_ef0c94e649ed972209a13ed67e7e65fa49ea4dc9_cloud/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/ef0c94e649ed972209a13ed67e7e65fa49ea4dc9_ef0c94e649ed972209a13ed67e7e65fa49ea4dc9_cloud/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 79.35% (1795/2262) |
| Line Coverage | 64.86% (31956/49269) |
| Region Coverage | 65.53% (15940/24323) |
| Branch Coverage | 56.08% (8476/15114) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3870613458
# FE UT Coverage Report
Increment line coverage ` 1.89% (24/1272)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_dce833ba92cf42dfecba11670310bb03dcf31394/fe_increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_dce833ba92cf42dfecba11670310bb03dcf31394/fe_report/index.html)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3875062481
run external
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3900921003
run cloud_p0
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3901273248
# BE Regression && UT Coverage Report
Increment line coverage `66.67% (16/24)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 71.71% (26032/36304) |
| Line Coverage | 54.38% (272440/501013) |
| Region Coverage | 51.85% (226842/437508) |
| Branch Coverage | 53.34% (97432/182673) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3901649315
# FE Regression Coverage Report
Increment line coverage ` 28.43% (356/1252)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge_fe/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge_fe/report/index.html)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3898607593
<details>
<summary>TPC-DS: <b>Total hot run time: 183506 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit ee6a26df6cc55709ed3e058d2294a831dc77e153, data reload: false
query5 4772 641 529 529
query6 337 223 201 201
query7 4229 469 281 281
query8 345 250 237 237
query9 8760 2732 2706 2706
query10 528 384 357 357
query11 16961 17432 17089 17089
query12 185 132 122 122
query13 1388 558 365 365
query14 6921 3264 3202 3202
query14_1 3000 2850 2889 2850
query15 218 200 196 196
query16 1069 498 472 472
query17 1609 772 624 624
query18 2751 437 346 346
query19 207 200 176 176
query20 132 125 125 125
query21 225 138 112 112
query22 4914 4872 5071 4872
query23 17260 16893 16583 16583
query23_1 16735 16653 16621 16621
query24 7086 1598 1212 1212
query24_1 1219 1262 1230 1230
query25 524 440 447 440
query26 1234 259 147 147
query27 2760 465 282 282
query28 4472 1866 1852 1852
query29 786 555 465 465
query30 312 248 211 211
query31 896 715 648 648
query32 79 76 71 71
query33 508 330 275 275
query34 921 897 573 573
query35 650 692 602 602
query36 1086 1141 999 999
query37 130 93 84 84
query38 2985 3007 2845 2845
query39 883 877 838 838
query39_1 823 828 826 826
query40 231 150 140 140
query41 62 62 58 58
query42 104 101 101 101
query43 394 383 351 351
query44
query45 195 187 180 180
query46 885 976 600 600
query47 2154 2197 2080 2080
query48 307 329 234 234
query49 628 470 377 377
query50 686 283 217 217
query51 4074 4091 4030 4030
query52 108 107 94 94
query53 285 333 285 285
query54 296 264 261 261
query55 86 84 81 81
query56 303 304 315 304
query57 1402 1342 1267 1267
query58 285 276 270 270
query59 2602 2689 2494 2494
query60 334 336 319 319
query61 155 148 152 148
query62 622 591 544 544
query63 316 277 277 277
query64 4779 1248 985 985
query65
query66 1403 465 380 380
query67 16545 16405 16280 16280
query68
query69 400 311 303 303
query70 1007 984 968 968
query71 344 309 308 308
query72 2943 2917 2496 2496
query73 540 544 313 313
query74 10007 9892 9789 9789
query75 2832 2718 2455 2455
query76 2288 1045 668 668
query77 356 395 315 315
query78 11247 11470 10701 10701
query79 2538 809 604 604
query80 1786 620 536 536
query81 563 286 256 256
query82 1003 150 112 112
query83 356 255 244 244
query84 248 115 95 95
query85 991 494 431 431
query86 434 326 294 294
query87 3124 3115 2989 2989
query88 3557 2669 2638 2638
query89 432 365 339 339
query90 1965 169 170 169
query91 160 156 132 132
query92 79 75 73 73
query93 1440 832 506 506
query94 633 305 298 298
query95 603 399 313 313
query96 644 521 228 228
query97 2521 2472 2420 2420
query98 222 224 217 217
query99 1026 998 907 907
Total cold run time: 256853 ms
Total hot run time: 183506 ms
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3958080480
<details>
<summary>TPC-H: <b>Total hot run time: 28827 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit d552c156312988d13a7e1dc37a84672169ae2f57, data reload: false
------ Round 1 ----------------------------------
============================================
q1 17636 4546 4340 4340
q2 q3 10630 838 547 547
q4 4680 351 255 255
q5 7545 1202 1044 1044
q6 175 177 148 148
q7 783 843 672 672
q8 9288 1507 1333 1333
q9 4880 4809 4784 4784
q10 6836 1884 1642 1642
q11 440 248 245 245
q12 717 572 478 478
q13 17765 4245 3419 3419
q14 228 230 221 221
q15 959 794 788 788
q16 764 735 666 666
q17 721 864 428 428
q18 6134 5351 5203 5203
q19 1132 987 601 601
q20 507 486 388 388
q21 4506 1867 1389 1389
q22 348 280 236 236
Total cold run time: 96674 ms
Total hot run time: 28827 ms
----- Round 2, with runtime_filter_mode=off -----
============================================
q1 4443 4356 4354 4354
q2 q3 1788 2189 1710 1710
q4 855 1160 740 740
q5 4073 4292 4383 4292
q6 181 173 141 141
q7 1728 1603 1476 1476
q8 2421 2643 2517 2517
q9 7616 7503 7468 7468
q10 2623 2851 2423 2423
q11 507 436 413 413
q12 495 585 468 468
q13 4106 4517 3630 3630
q14 348 313 297 297
q15 861 785 822 785
q16 719 766 717 717
q17 1191 1527 1326 1326
q18 7114 6827 6781 6781
q19 889 939 958 939
q20 2097 2196 2045 2045
q21 4023 3486 3555 3486
q22 436 437 376 376
Total cold run time: 48514 ms
Total hot run time: 46384 ms
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3960132055
# BE Regression && UT Coverage Report
Increment line coverage `66.67% (16/24)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_d552c156312988d13a7e1dc37a84672169ae2f57_merge/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_d552c156312988d13a7e1dc37a84672169ae2f57_merge/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 71.55% (26133/36525) |
| Line Coverage | 54.30% (273664/503995) |
| Region Coverage | 51.57% (227257/440710) |
| Branch Coverage | 53.04% (97798/184398) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3959308396
run p0
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3857677814
# Cloud UT Coverage Report
Increment line coverage ` ` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/97168897275f4683257ec006a83a0f0b792a824d_97168897275f4683257ec006a83a0f0b792a824d_cloud/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/97168897275f4683257ec006a83a0f0b792a824d_97168897275f4683257ec006a83a0f0b792a824d_cloud/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 79.29% (1792/2260) |
| Line Coverage | 64.74% (31825/49158) |
| Region Coverage | 65.41% (15882/24280) |
| Branch Coverage | 55.94% (8435/15078) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3858008635
<details>
<summary>ClickBench: <b>Total hot run time: 28.23 s</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 97168897275f4683257ec006a83a0f0b792a824d, data reload: false
query1 0.05 0.05 0.05
query2 0.13 0.07 0.07
query3 0.32 0.07 0.07
query4 1.61 0.10 0.10
query5 0.25 0.25 0.24
query6 1.15 0.66 0.64
query7 0.03 0.02 0.02
query8 0.08 0.06 0.06
query9 0.59 0.50 0.49
query10 0.54 0.56 0.54
query11 0.27 0.13 0.14
query12 0.27 0.14 0.14
query13 0.64 0.63 0.60
query14 0.98 0.98 0.98
query15 0.94 0.83 0.83
query16 0.39 0.40 0.39
query17 1.06 1.04 1.05
query18 0.26 0.23 0.23
query19 1.84 1.83 1.79
query20 0.02 0.01 0.02
query21 15.38 0.34 0.29
query22 4.98 0.11 0.12
query23 15.36 0.45 0.28
query24 2.30 0.56 0.39
query25 0.11 0.11 0.11
query26 0.19 0.18 0.18
query27 0.10 0.10 0.10
query28 3.62 1.14 0.98
query29 12.52 4.12 3.31
query30 0.34 0.12 0.11
query31 2.79 0.70 0.44
query32 3.24 0.64 0.51
query33 2.95 3.11 3.04
query34 16.30 5.07 4.46
query35 4.47 4.47 4.48
query36 0.62 0.50 0.50
query37 0.30 0.10 0.09
query38 0.26 0.06 0.06
query39 0.08 0.05 0.04
query40 0.22 0.17 0.18
query41 0.13 0.08 0.06
query42 0.08 0.05 0.05
query43 0.06 0.06 0.06
Total cold run time: 97.82 s
Total hot run time: 28.23 s
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3859914530
# BE Regression && UT Coverage Report
Increment line coverage `73.33% (11/15)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_9f3938347c127a752b04e13d9f40db00f84820c1_merge/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_9f3938347c127a752b04e13d9f40db00f84820c1_merge/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 71.72% (25930/36156) |
| Line Coverage | 54.39% (271270/498758) |
| Region Coverage | 51.96% (226378/435653) |
| Branch Coverage | 53.36% (97020/181809) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3869299538
# FE UT Coverage Report
Increment line coverage ` 2.02% (24/1189)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_0c8af71fa683293df3e943ebd237bb3029c468ca/fe_increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_0c8af71fa683293df3e943ebd237bb3029c468ca/fe_report/index.html)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "morningman (via GitHub)" <gi...@apache.org>.
morningman commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3869111759
run buildall
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on code in PR #60557:
URL: https://github.com/apache/doris/pull/60557#discussion_r2780638429
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/doris/FeServiceClient.java:
##########
@@ -173,42 +301,462 @@ public RemoteOlapTable getOlapTable(String dbName, String table, long tableId, L
removedPartitions = new ArrayList<>();
}
remoteOlapTable.rebuildPartitions(partitions, updatedPartitions, removedPartitions);
+ // rebuild temp partitions
+ if (result.isSetUpdatedTempPartitions() && result.getUpdatedTempPartitionsSize() > 0) {
+ updatedPartitions = new ArrayList<>(result.getUpdatedTempPartitionsSize());
+ for (ByteBuffer buffer : result.getUpdatedTempPartitions()) {
+ try (ByteArrayInputStream in =
+ new ByteArrayInputStream(buffer.array(), buffer.position(), buffer.remaining());
+ DataInputStream dataInputStream = new DataInputStream(in)) {
+ String partitionStr = Text.readString(dataInputStream);
+ Partition partition = GsonUtils.GSON.fromJson(partitionStr, Partition.class);
+ updatedPartitions.add(partition);
+ }
+ }
+ }
+ removedPartitions = result.getRemovedTempPartitions();
+ if (removedPartitions == null) {
+ removedPartitions = new ArrayList<>();
+ }
+ remoteOlapTable.rebuildTempPartitions(tempPartitions, updatedPartitions, removedPartitions);
return remoteOlapTable;
- }, msg, timeout);
+ }, msg, timeoutMs);
+ }
+
+ public TBeginRemoteTxnResult beginRemoteTxn(TBeginRemoteTxnRequest request) throws Exception {
+ request.setUser(user);
+ request.setPasswd(password);
+ String msg = String.format("failed to begin remote txn from remote doris:%s, label=%s", name,
+ request.getLabel());
+ long startTime = System.currentTimeMillis();
+ TBeginRemoteTxnResult result;
+ try {
+ result = masterCallWithRetry(client -> client.beginRemoteTxn(request), msg,
+ Math.max(timeoutMs, (int) request.getTimeoutMs()));
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("begin remote txn for catalog {} failed, cost={}ms", name, costMs, e);
+ throw e;
+ }
+
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.info("begin remote txn for catalog {} finished, cost={}ms, statusCode={}",
+ name, costMs, result.getStatus().getStatusCode());
+ return result;
+ }
+
+ public TCommitRemoteTxnResult commitRemoteTxn(TCommitRemoteTxnRequest request) throws Exception {
+ request.setUser(user);
+ request.setPasswd(password);
+ String msg = String.format("failed to commit remote txn from remote doris:%s, txnId=%d", name,
+ request.getTxnId());
+ long startTime = System.currentTimeMillis();
+ TCommitRemoteTxnResult result;
+ try {
+ result = masterCallWithRetry(client -> client.commitRemoteTxn(request), msg,
+ Math.max(timeoutMs, (int) request.getInsertVisibleTimeoutMs()));
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("commit remote txn for catalog {} failed, txnId={}, cost={}ms",
+ name, request.getTxnId(), costMs, e);
+ throw e;
+ }
+
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.info("commit remote txn for catalog {} finished, txnId={}, cost={}ms, statusCode={}",
+ name, request.getTxnId(), costMs, result.getStatus().getStatusCode());
+ return result;
+ }
+
+ public TAbortRemoteTxnResult abortRemoteTxn(TAbortRemoteTxnRequest request) throws Exception {
+ request.setUser(user);
+ request.setPasswd(password);
+ String msg = String.format("failed to abort remote txn from remote doris:%s, txnId=%d", name,
+ request.getTxnId());
+ long startTime = System.currentTimeMillis();
+ TAbortRemoteTxnResult result;
+ try {
+ result = masterCallWithRetry(client -> client.abortRemoteTxn(request), msg, timeoutMs);
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("abort remote txn for catalog {} failed, txnId={}, cost={}ms",
+ name, request.getTxnId(), costMs, e);
+ throw e;
+ }
+
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.info("abort remote txn for catalog {} finished, txnId={}, cost={}ms, statusCode={}",
+ name, request.getTxnId(), costMs, result.getStatus().getStatusCode());
+ return result;
}
private interface ThriftCall<T> {
public T call(FrontendService.Client client) throws Exception;
}
- private static class MasterResult<T> {
- boolean isMaster = true;
- T result;
- boolean hasError = false;
- String errorMsg;
+ public TNetworkAddress getMasterAddress() throws RuntimeException {
+ TMasterAddressRequest request = new TMasterAddressRequest();
+ request.setUser(user);
+ request.setPasswd(password);
+ long startTime = System.currentTimeMillis();
+ TMasterAddressResult result;
+ try {
+ result = masterCallWithRetry(client -> client.getMasterAddress(request),
+ "failed to get master address from remote doris:" + name, timeoutMs);
+ if (result.isSetMasterAddress()) {
+ master = result.getMasterAddress();
+ }
+ if (result.getStatus().getStatusCode() != TStatusCode.OK) {
+ throw new RuntimeException(result.getStatus().getErrorMsgs().get(0));
+ }
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("get master address for catalog {} failed, cost={}ms", name, costMs, e);
+ throw new RuntimeException(e.getMessage());
Review Comment:
do you mean getRootCauseStack?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3901107898
# FE Regression Coverage Report
Increment line coverage ` 28.51% (357/1252)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge_fe/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge_fe/report/index.html)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3901389596
run p0
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3957856029
PR approved by anyone and no changes requested.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3958757262
# BE UT Coverage Report
Increment line coverage `4.17% (1/24)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/d552c156312988d13a7e1dc37a84672169ae2f57_d552c156312988d13a7e1dc37a84672169ae2f57/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/d552c156312988d13a7e1dc37a84672169ae2f57_d552c156312988d13a7e1dc37a84672169ae2f57/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 52.56% (19602/37292) |
| Line Coverage | 36.17% (182853/505495) |
| Region Coverage | 32.49% (141820/436542) |
| Branch Coverage | 33.45% (61480/183812) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3900870104
run p0 cloud
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3901285578
# FE Regression Coverage Report
Increment line coverage ` 28.43% (356/1252)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge_fe/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge_fe/report/index.html)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3898076989
# Cloud UT Coverage Report
Increment line coverage ` ` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/ee6a26df6cc55709ed3e058d2294a831dc77e153_ee6a26df6cc55709ed3e058d2294a831dc77e153_cloud/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/ee6a26df6cc55709ed3e058d2294a831dc77e153_ee6a26df6cc55709ed3e058d2294a831dc77e153_cloud/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 79.33% (1796/2264) |
| Line Coverage | 64.83% (32009/49372) |
| Region Coverage | 65.51% (15971/24378) |
| Branch Coverage | 56.03% (8496/15164) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3869499458
<details>
<summary>TPC-H: <b>Total hot run time: 30323 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 0c8af71fa683293df3e943ebd237bb3029c468ca, data reload: false
------ Round 1 ----------------------------------
q1 17633 4474 4351 4351
q2 2042 347 228 228
q3 10642 1375 735 735
q4 10370 779 315 315
q5 9658 2230 1932 1932
q6 238 183 143 143
q7 896 735 613 613
q8 9272 1398 1171 1171
q9 4850 4679 4637 4637
q10 6852 1985 1557 1557
q11 515 320 288 288
q12 404 381 223 223
q13 17793 4060 3237 3237
q14 245 245 212 212
q15 905 828 802 802
q16 683 679 622 622
q17 924 815 530 530
q18 7147 5838 5631 5631
q19 1251 997 619 619
q20 499 505 386 386
q21 2585 1866 1810 1810
q22 368 324 281 281
Total cold run time: 105772 ms
Total hot run time: 30323 ms
----- Round 2, with runtime_filter_mode=off -----
q1 4469 4385 4366 4366
q2 275 332 257 257
q3 2076 2704 2231 2231
q4 1345 1756 1301 1301
q5 4287 4200 4200 4200
q6 219 182 137 137
q7 1853 1816 2087 1816
q8 2669 2417 2380 2380
q9 7576 7570 7535 7535
q10 2878 3171 2621 2621
q11 546 480 481 480
q12 742 759 596 596
q13 3898 4551 3681 3681
q14 289 296 298 296
q15 841 796 806 796
q16 675 829 858 829
q17 1187 1279 1323 1279
q18 8252 7949 7857 7857
q19 905 918 872 872
q20 2074 2121 2006 2006
q21 4709 4380 4146 4146
q22 582 546 509 509
Total cold run time: 52347 ms
Total hot run time: 50191 ms
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3869069061
run buildall
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3871238375
<details>
<summary>ClickBench: <b>Total hot run time: 28.03 s</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit ef0c94e649ed972209a13ed67e7e65fa49ea4dc9, data reload: false
query1 0.06 0.05 0.04
query2 0.13 0.07 0.07
query3 0.31 0.08 0.07
query4 1.61 0.10 0.10
query5 0.27 0.25 0.27
query6 1.14 0.65 0.64
query7 0.03 0.03 0.03
query8 0.07 0.06 0.06
query9 0.58 0.50 0.48
query10 0.54 0.56 0.55
query11 0.26 0.13 0.14
query12 0.26 0.14 0.17
query13 0.61 0.62 0.59
query14 0.97 0.97 0.98
query15 0.91 0.82 0.82
query16 0.38 0.38 0.38
query17 1.05 1.08 1.02
query18 0.23 0.22 0.23
query19 1.88 1.81 1.82
query20 0.02 0.02 0.01
query21 15.39 0.33 0.31
query22 4.94 0.13 0.12
query23 15.34 0.46 0.28
query24 2.24 0.56 0.38
query25 0.11 0.10 0.10
query26 0.19 0.18 0.18
query27 0.10 0.10 0.11
query28 3.51 1.17 0.98
query29 12.50 4.02 3.24
query30 0.32 0.12 0.11
query31 2.80 0.66 0.43
query32 3.24 0.63 0.50
query33 3.07 3.01 3.08
query34 16.33 5.04 4.45
query35 4.49 4.50 4.46
query36 0.61 0.50 0.48
query37 0.30 0.09 0.08
query38 0.28 0.06 0.06
query39 0.08 0.05 0.05
query40 0.19 0.18 0.17
query41 0.13 0.07 0.06
query42 0.08 0.06 0.05
query43 0.07 0.05 0.05
Total cold run time: 97.62 s
Total hot run time: 28.03 s
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3869710393
run buildall
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3957226068
run buildall
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3957613426
# Cloud UT Coverage Report
Increment line coverage ` ` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/d552c156312988d13a7e1dc37a84672169ae2f57_d552c156312988d13a7e1dc37a84672169ae2f57_cloud/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/d552c156312988d13a7e1dc37a84672169ae2f57_d552c156312988d13a7e1dc37a84672169ae2f57_cloud/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 79.33% (1796/2264) |
| Line Coverage | 64.79% (32004/49393) |
| Region Coverage | 65.51% (15974/24383) |
| Branch Coverage | 55.99% (8492/15168) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on code in PR #60557:
URL: https://github.com/apache/doris/pull/60557#discussion_r2780544874
##########
regression-test/suites/external_table_p0/remote_doris/test_insert_remote_doris_as_olap_table_select.groovy:
##########
@@ -0,0 +1,455 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_insert_remote_doris_as_olap_table_select", "p0,external,doris,external_docker,external_docker_doris") {
+ String remote_doris_host = context.config.otherConfigs.get("extArrowFlightSqlHost")
+ String remote_doris_arrow_port = context.config.otherConfigs.get("extArrowFlightSqlPort")
+ String remote_doris_http_port = context.config.otherConfigs.get("extArrowFlightHttpPort")
+ String remote_doris_user = context.config.otherConfigs.get("extArrowFlightSqlUser")
+ String remote_doris_psw = context.config.otherConfigs.get("extArrowFlightSqlPassword")
+ String remote_doris_thrift_port = context.config.otherConfigs.get("extFeThriftPort")
+
+ def showres = sql "show frontends";
+ remote_doris_arrow_port = showres[0][6]
+ remote_doris_http_port = showres[0][3]
+ remote_doris_thrift_port = showres[0][5]
+ log.info("show frontends log = ${showres}, arrow: ${remote_doris_arrow_port}, http: ${remote_doris_http_port}, thrift: ${remote_doris_thrift_port}")
+
+ def showres2 = sql "show backends";
+ log.info("show backends log = ${showres2}")
+
+ def db_name = "test_insert_remote_doris_as_olap_table_select_db"
+ def catalog_name = "test_insert_remote_doris_as_olap_table_select_catalog"
+
+ sql """DROP DATABASE IF EXISTS ${db_name}"""
+
+ sql """CREATE DATABASE IF NOT EXISTS ${db_name}"""
+
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_select_t` (
+ `id` datetime(3) NOT NULL,
+ `c_boolean` boolean NULL,
+ `c_tinyint` tinyint NULL,
+ `c_smallint` smallint NULL,
+ `c_int` int NULL,
+ `c_bigint` bigint NULL,
+ `c_largeint` largeint NULL,
+ `c_float` float NULL,
+ `c_double` double NULL,
+ `c_decimal9` decimal(9,0) NULL,
+ `c_decimal18` decimal(18,0) NULL,
+ `c_decimal32` decimal(32,0) NULL,
+ `c_date` date NULL,
+ `c_datetime` datetime NULL,
+ `c_char` char(1) NULL,
+ `c_varchar` varchar(65533) NULL,
+ `c_string` text NULL,
+ `c_array_s` array<text> NULL,
+ `c_map` MAP<STRING, INT> NULL,
+ `c_struct` STRUCT<f1:INT,f2:FLOAT,f3:STRING> NULL,
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+
+ sql """
+ DROP CATALOG IF EXISTS `${catalog_name}`
+ """
+
+
+ sql """
+ CREATE CATALOG `${catalog_name}` PROPERTIES (
+ 'type' = 'doris',
+ 'fe_http_hosts' = 'http://${remote_doris_host}:${remote_doris_http_port}',
+ 'fe_arrow_hosts' = '${remote_doris_host}:${remote_doris_arrow_port}',
+ 'fe_thrift_hosts' = '${remote_doris_host}:${remote_doris_thrift_port}',
+ 'user' = '${remote_doris_user}',
+ 'password' = '${remote_doris_psw}',
+ 'use_arrow_flight' = 'false'
+ );
+ """
+
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 01:00:00.000', true, -128, -32768, -2147483648, -9223372036854775808, -1234567890123456790, -123.456, -123456.789, -123457, -123456789012346, -1234567890123456789012345678, '1970-01-01', '0000-01-01 00:00:00', 'A', 'Hello', 'Hello, Doris!', '["apple", "banana", "orange"]', {"Emily":101,"age":25} , {11, 3.14, "Emily"})
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 02:00:00.000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 03:00:00.000', false, 127, 32767, 2147483647, 9223372036854775807, 1234567890123456789, 123.456, 123456.789, 123457, 123456789012346, 1234567890123456789012345678, '9999-12-31', '9999-12-31 23:59:59', '', '', '', [], {}, {11, 3.14, "Emily"})
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 04:00:00.000', true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '2023-10-01', '2023-10-01 12:34:56', 'A', 'Hello', 'Hello, Doris!', '["apple", "banana", "orange"]', {"Emily":101,"age":25} , {11, 3.14, "Emily"});
+ """
+
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_select_t2` (
+ `id` datetime(3) NOT NULL,
+ `a_boolean` array<boolean> NULL,
+ `a_tinyint` array<tinyint> NULL,
+ `a_smallint` array<smallint> NULL,
+ `a_int` array<int> NULL,
+ `a_bigint` array<bigint> NULL,
+ `a_largeint` array<largeint> NULL,
+ `a_float` array<float> NULL,
+ `a_double` array<double> NULL,
+ `a_decimal9` array<decimal(9,0)> NULL,
+ `a_decimal18` array<decimal(18,0)> NULL,
+ `a_decimal32` array<decimal(32,0)> NULL,
+ `a_date` array<date> NULL,
+ `a_datetime` array<datetime> NULL,
+ `a_char` array<char(1)> NULL,
+ `a_varchar` array<varchar(65533)> NULL,
+ `a_string` array<text> NULL
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 01:00:00.000', [true], [-128], [-32768], [-2147483648], [-9223372036854775808], [-1234567890123456790], [-123.456], [-123456.789], [-123457], [-123456789012346], [-1234567890123456789012345678], ['0000-01-01'], ['0000-01-01 00:00:00'], ['A'], ['Hello'], ['Hello, Doris!'])
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 02:00:00.000', [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL])
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 03:00:00.000', [false], [127], [32767], [2147483647], [9223372036854775807], [1234567890123456789], [123.456], [123456.789], [123457], [123456789012346], [1234567890123456789012345678], ['9999-12-31'], ['9999-12-31 23:59:59'], [''], [''], [''])
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 04:00:00.000', [true], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], ['2023-10-01'], ['2023-10-01 12:34:56'], ['A'], ['Hello'], ['Hello, Doris!']);
+ """
+
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_select_t3` (
+ `id` datetime NOT NULL,
+ `datetime_0` datetime(0) NULL,
+ `datetime_1` datetime(1) NULL,
+ `datetime_3` datetime(2) NULL,
+ `datetime_4` datetime(3) NULL,
+ `datetime_5` datetime(4) NULL,
+ `datetime_6` datetime(5) NULL,
+ `datetime_7` datetime(6) NULL
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` values('2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111');
+ """
+
+
+
+ qt_sql """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` order by id
+ """
+
+ qt_sql """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` order by id
+ """
+
+ qt_sql """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` order by id
+ """
+
+ // test select after insert also get correct data, it seems we can newly partition version
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` values('2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111');
+ """
+ qt_query_after_insert """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` order by id
+ """
+
+ // test insert command
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_insert` (
+ `id` datetime(3) NOT NULL,
+ `c_boolean` boolean NULL,
+ `c_tinyint` tinyint NULL,
+ `c_smallint` smallint NULL,
+ `c_int` int NULL,
+ `c_bigint` bigint NULL,
+ `c_largeint` largeint NULL,
+ `c_float` float NULL,
+ `c_double` double NULL,
+ `c_decimal9` decimal(9,0) NULL,
+ `c_decimal18` decimal(18,0) NULL,
+ `c_decimal32` decimal(32,0) NULL,
+ `c_date` date NULL,
+ `c_datetime` datetime NULL,
+ `c_char` char(1) NULL,
+ `c_varchar` varchar(65533) NULL,
+ `c_string` text NULL,
+ `c_array_s` array<text> NULL,
+ `c_map` MAP<STRING, INT> NULL,
+ `c_struct` STRUCT<f1:INT,f2:FLOAT,f3:STRING> NULL,
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+ // test insert into
+ explain {
+ sql("insert into `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`")
+ contains("VOlapScanNode")
+ }
+ sql """
+ insert into `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`
+ """
+ qt_after_insert_cmd """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` order by id
+ """
+ // test insert overwrite
+ explain {
+ sql("insert OVERWRITE table `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`")
+ contains("VOlapScanNode")
+ }
+ sql """
+ insert OVERWRITE table `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`
Review Comment:
i create the regression test file based on remote doris query and replacing target table with remote olap catalog table, most of the session variables other than timeout should not take in effect in remote clusters
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3857948948
<details>
<summary>TPC-H: <b>Total hot run time: 31471 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 97168897275f4683257ec006a83a0f0b792a824d, data reload: false
------ Round 1 ----------------------------------
q1 17660 4522 4407 4407
q2 2051 349 224 224
q3 10469 1342 767 767
q4 10343 809 329 329
q5 9507 2263 1927 1927
q6 228 182 156 156
q7 883 750 590 590
q8 9266 1447 1221 1221
q9 5356 4836 4890 4836
q10 6888 1959 1582 1582
q11 503 304 290 290
q12 398 377 231 231
q13 17813 4066 3274 3274
q14 231 246 214 214
q15 924 811 804 804
q16 689 684 621 621
q17 708 767 547 547
q18 6755 6412 6330 6330
q19 1326 1004 654 654
q20 395 357 256 256
q21 2709 2004 1937 1937
q22 358 318 274 274
Total cold run time: 105460 ms
Total hot run time: 31471 ms
----- Round 2, with runtime_filter_mode=off -----
q1 4442 4333 4374 4333
q2 257 330 265 265
q3 2137 2601 2229 2229
q4 1372 1735 1327 1327
q5 4327 4207 4182 4182
q6 216 184 140 140
q7 1884 2156 1917 1917
q8 2654 2501 2431 2431
q9 7635 7459 7620 7459
q10 2784 3063 2750 2750
q11 570 503 455 455
q12 684 752 658 658
q13 3851 4494 3582 3582
q14 305 302 288 288
q15 851 802 793 793
q16 694 720 728 720
q17 1198 1489 1385 1385
q18 8328 8094 7920 7920
q19 936 920 914 914
q20 2119 2144 1962 1962
q21 4524 4352 4109 4109
q22 544 564 504 504
Total cold run time: 52312 ms
Total hot run time: 50323 ms
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3858538946
# FE UT Coverage Report
Increment line coverage ` 2.44% (29/1189)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_9f3938347c127a752b04e13d9f40db00f84820c1/fe_increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_9f3938347c127a752b04e13d9f40db00f84820c1/fe_report/index.html)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3901059324
# BE Regression && UT Coverage Report
Increment line coverage `66.67% (16/24)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 71.71% (26032/36304) |
| Line Coverage | 54.38% (272440/501013) |
| Region Coverage | 51.85% (226842/437508) |
| Branch Coverage | 53.34% (97432/182673) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on code in PR #60557:
URL: https://github.com/apache/doris/pull/60557#discussion_r2781729039
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/doris/FeServiceClient.java:
##########
@@ -173,42 +301,462 @@ public RemoteOlapTable getOlapTable(String dbName, String table, long tableId, L
removedPartitions = new ArrayList<>();
}
remoteOlapTable.rebuildPartitions(partitions, updatedPartitions, removedPartitions);
+ // rebuild temp partitions
+ if (result.isSetUpdatedTempPartitions() && result.getUpdatedTempPartitionsSize() > 0) {
+ updatedPartitions = new ArrayList<>(result.getUpdatedTempPartitionsSize());
+ for (ByteBuffer buffer : result.getUpdatedTempPartitions()) {
+ try (ByteArrayInputStream in =
+ new ByteArrayInputStream(buffer.array(), buffer.position(), buffer.remaining());
+ DataInputStream dataInputStream = new DataInputStream(in)) {
+ String partitionStr = Text.readString(dataInputStream);
+ Partition partition = GsonUtils.GSON.fromJson(partitionStr, Partition.class);
+ updatedPartitions.add(partition);
+ }
+ }
+ }
+ removedPartitions = result.getRemovedTempPartitions();
+ if (removedPartitions == null) {
+ removedPartitions = new ArrayList<>();
+ }
+ remoteOlapTable.rebuildTempPartitions(tempPartitions, updatedPartitions, removedPartitions);
return remoteOlapTable;
- }, msg, timeout);
+ }, msg, timeoutMs);
+ }
+
+ public TBeginRemoteTxnResult beginRemoteTxn(TBeginRemoteTxnRequest request) throws Exception {
+ request.setUser(user);
+ request.setPasswd(password);
+ String msg = String.format("failed to begin remote txn from remote doris:%s, label=%s", name,
+ request.getLabel());
+ long startTime = System.currentTimeMillis();
+ TBeginRemoteTxnResult result;
+ try {
+ result = masterCallWithRetry(client -> client.beginRemoteTxn(request), msg,
+ Math.max(timeoutMs, (int) request.getTimeoutMs()));
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("begin remote txn for catalog {} failed, cost={}ms", name, costMs, e);
+ throw e;
+ }
+
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.info("begin remote txn for catalog {} finished, cost={}ms, statusCode={}",
+ name, costMs, result.getStatus().getStatusCode());
+ return result;
+ }
+
+ public TCommitRemoteTxnResult commitRemoteTxn(TCommitRemoteTxnRequest request) throws Exception {
+ request.setUser(user);
+ request.setPasswd(password);
+ String msg = String.format("failed to commit remote txn from remote doris:%s, txnId=%d", name,
+ request.getTxnId());
+ long startTime = System.currentTimeMillis();
+ TCommitRemoteTxnResult result;
+ try {
+ result = masterCallWithRetry(client -> client.commitRemoteTxn(request), msg,
+ Math.max(timeoutMs, (int) request.getInsertVisibleTimeoutMs()));
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("commit remote txn for catalog {} failed, txnId={}, cost={}ms",
+ name, request.getTxnId(), costMs, e);
+ throw e;
+ }
+
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.info("commit remote txn for catalog {} finished, txnId={}, cost={}ms, statusCode={}",
+ name, request.getTxnId(), costMs, result.getStatus().getStatusCode());
+ return result;
+ }
+
+ public TAbortRemoteTxnResult abortRemoteTxn(TAbortRemoteTxnRequest request) throws Exception {
+ request.setUser(user);
+ request.setPasswd(password);
+ String msg = String.format("failed to abort remote txn from remote doris:%s, txnId=%d", name,
+ request.getTxnId());
+ long startTime = System.currentTimeMillis();
+ TAbortRemoteTxnResult result;
+ try {
+ result = masterCallWithRetry(client -> client.abortRemoteTxn(request), msg, timeoutMs);
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("abort remote txn for catalog {} failed, txnId={}, cost={}ms",
+ name, request.getTxnId(), costMs, e);
+ throw e;
+ }
+
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.info("abort remote txn for catalog {} finished, txnId={}, cost={}ms, statusCode={}",
+ name, request.getTxnId(), costMs, result.getStatus().getStatusCode());
+ return result;
}
private interface ThriftCall<T> {
public T call(FrontendService.Client client) throws Exception;
}
- private static class MasterResult<T> {
- boolean isMaster = true;
- T result;
- boolean hasError = false;
- String errorMsg;
+ public TNetworkAddress getMasterAddress() throws RuntimeException {
+ TMasterAddressRequest request = new TMasterAddressRequest();
+ request.setUser(user);
+ request.setPasswd(password);
+ long startTime = System.currentTimeMillis();
+ TMasterAddressResult result;
+ try {
+ result = masterCallWithRetry(client -> client.getMasterAddress(request),
+ "failed to get master address from remote doris:" + name, timeoutMs);
+ if (result.isSetMasterAddress()) {
+ master = result.getMasterAddress();
+ }
+ if (result.getStatus().getStatusCode() != TStatusCode.OK) {
+ throw new RuntimeException(result.getStatus().getErrorMsgs().get(0));
+ }
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("get master address for catalog {} failed, cost={}ms", name, costMs, e);
+ throw new RuntimeException(e.getMessage());
Review Comment:
fixed
##########
regression-test/suites/external_table_p0/remote_doris/test_insert_remote_doris_as_olap_table_select.groovy:
##########
@@ -0,0 +1,455 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_insert_remote_doris_as_olap_table_select", "p0,external,doris,external_docker,external_docker_doris") {
+ String remote_doris_host = context.config.otherConfigs.get("extArrowFlightSqlHost")
+ String remote_doris_arrow_port = context.config.otherConfigs.get("extArrowFlightSqlPort")
+ String remote_doris_http_port = context.config.otherConfigs.get("extArrowFlightHttpPort")
+ String remote_doris_user = context.config.otherConfigs.get("extArrowFlightSqlUser")
+ String remote_doris_psw = context.config.otherConfigs.get("extArrowFlightSqlPassword")
+ String remote_doris_thrift_port = context.config.otherConfigs.get("extFeThriftPort")
+
+ def showres = sql "show frontends";
+ remote_doris_arrow_port = showres[0][6]
+ remote_doris_http_port = showres[0][3]
+ remote_doris_thrift_port = showres[0][5]
+ log.info("show frontends log = ${showres}, arrow: ${remote_doris_arrow_port}, http: ${remote_doris_http_port}, thrift: ${remote_doris_thrift_port}")
+
+ def showres2 = sql "show backends";
+ log.info("show backends log = ${showres2}")
+
+ def db_name = "test_insert_remote_doris_as_olap_table_select_db"
+ def catalog_name = "test_insert_remote_doris_as_olap_table_select_catalog"
+
+ sql """DROP DATABASE IF EXISTS ${db_name}"""
+
+ sql """CREATE DATABASE IF NOT EXISTS ${db_name}"""
+
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_select_t` (
+ `id` datetime(3) NOT NULL,
+ `c_boolean` boolean NULL,
+ `c_tinyint` tinyint NULL,
+ `c_smallint` smallint NULL,
+ `c_int` int NULL,
+ `c_bigint` bigint NULL,
+ `c_largeint` largeint NULL,
+ `c_float` float NULL,
+ `c_double` double NULL,
+ `c_decimal9` decimal(9,0) NULL,
+ `c_decimal18` decimal(18,0) NULL,
+ `c_decimal32` decimal(32,0) NULL,
+ `c_date` date NULL,
+ `c_datetime` datetime NULL,
+ `c_char` char(1) NULL,
+ `c_varchar` varchar(65533) NULL,
+ `c_string` text NULL,
+ `c_array_s` array<text> NULL,
+ `c_map` MAP<STRING, INT> NULL,
+ `c_struct` STRUCT<f1:INT,f2:FLOAT,f3:STRING> NULL,
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+
+ sql """
+ DROP CATALOG IF EXISTS `${catalog_name}`
+ """
+
+
+ sql """
+ CREATE CATALOG `${catalog_name}` PROPERTIES (
+ 'type' = 'doris',
+ 'fe_http_hosts' = 'http://${remote_doris_host}:${remote_doris_http_port}',
+ 'fe_arrow_hosts' = '${remote_doris_host}:${remote_doris_arrow_port}',
+ 'fe_thrift_hosts' = '${remote_doris_host}:${remote_doris_thrift_port}',
+ 'user' = '${remote_doris_user}',
+ 'password' = '${remote_doris_psw}',
+ 'use_arrow_flight' = 'false'
+ );
+ """
+
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 01:00:00.000', true, -128, -32768, -2147483648, -9223372036854775808, -1234567890123456790, -123.456, -123456.789, -123457, -123456789012346, -1234567890123456789012345678, '1970-01-01', '0000-01-01 00:00:00', 'A', 'Hello', 'Hello, Doris!', '["apple", "banana", "orange"]', {"Emily":101,"age":25} , {11, 3.14, "Emily"})
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 02:00:00.000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 03:00:00.000', false, 127, 32767, 2147483647, 9223372036854775807, 1234567890123456789, 123.456, 123456.789, 123457, 123456789012346, 1234567890123456789012345678, '9999-12-31', '9999-12-31 23:59:59', '', '', '', [], {}, {11, 3.14, "Emily"})
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 04:00:00.000', true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '2023-10-01', '2023-10-01 12:34:56', 'A', 'Hello', 'Hello, Doris!', '["apple", "banana", "orange"]', {"Emily":101,"age":25} , {11, 3.14, "Emily"});
+ """
+
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_select_t2` (
+ `id` datetime(3) NOT NULL,
+ `a_boolean` array<boolean> NULL,
+ `a_tinyint` array<tinyint> NULL,
+ `a_smallint` array<smallint> NULL,
+ `a_int` array<int> NULL,
+ `a_bigint` array<bigint> NULL,
+ `a_largeint` array<largeint> NULL,
+ `a_float` array<float> NULL,
+ `a_double` array<double> NULL,
+ `a_decimal9` array<decimal(9,0)> NULL,
+ `a_decimal18` array<decimal(18,0)> NULL,
+ `a_decimal32` array<decimal(32,0)> NULL,
+ `a_date` array<date> NULL,
+ `a_datetime` array<datetime> NULL,
+ `a_char` array<char(1)> NULL,
+ `a_varchar` array<varchar(65533)> NULL,
+ `a_string` array<text> NULL
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 01:00:00.000', [true], [-128], [-32768], [-2147483648], [-9223372036854775808], [-1234567890123456790], [-123.456], [-123456.789], [-123457], [-123456789012346], [-1234567890123456789012345678], ['0000-01-01'], ['0000-01-01 00:00:00'], ['A'], ['Hello'], ['Hello, Doris!'])
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 02:00:00.000', [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL])
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 03:00:00.000', [false], [127], [32767], [2147483647], [9223372036854775807], [1234567890123456789], [123.456], [123456.789], [123457], [123456789012346], [1234567890123456789012345678], ['9999-12-31'], ['9999-12-31 23:59:59'], [''], [''], [''])
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 04:00:00.000', [true], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], ['2023-10-01'], ['2023-10-01 12:34:56'], ['A'], ['Hello'], ['Hello, Doris!']);
+ """
+
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_select_t3` (
+ `id` datetime NOT NULL,
+ `datetime_0` datetime(0) NULL,
+ `datetime_1` datetime(1) NULL,
+ `datetime_3` datetime(2) NULL,
+ `datetime_4` datetime(3) NULL,
+ `datetime_5` datetime(4) NULL,
+ `datetime_6` datetime(5) NULL,
+ `datetime_7` datetime(6) NULL
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` values('2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111');
+ """
+
+
+
+ qt_sql """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` order by id
+ """
+
+ qt_sql """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` order by id
+ """
+
+ qt_sql """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` order by id
+ """
+
+ // test select after insert also get correct data, it seems we can newly partition version
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` values('2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111');
+ """
+ qt_query_after_insert """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` order by id
+ """
+
+ // test insert command
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_insert` (
+ `id` datetime(3) NOT NULL,
+ `c_boolean` boolean NULL,
+ `c_tinyint` tinyint NULL,
+ `c_smallint` smallint NULL,
+ `c_int` int NULL,
+ `c_bigint` bigint NULL,
+ `c_largeint` largeint NULL,
+ `c_float` float NULL,
+ `c_double` double NULL,
+ `c_decimal9` decimal(9,0) NULL,
+ `c_decimal18` decimal(18,0) NULL,
+ `c_decimal32` decimal(32,0) NULL,
+ `c_date` date NULL,
+ `c_datetime` datetime NULL,
+ `c_char` char(1) NULL,
+ `c_varchar` varchar(65533) NULL,
+ `c_string` text NULL,
+ `c_array_s` array<text> NULL,
+ `c_map` MAP<STRING, INT> NULL,
+ `c_struct` STRUCT<f1:INT,f2:FLOAT,f3:STRING> NULL,
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+ // test insert into
+ explain {
+ sql("insert into `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`")
+ contains("VOlapScanNode")
+ }
+ sql """
+ insert into `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`
+ """
+ qt_after_insert_cmd """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` order by id
+ """
+ // test insert overwrite
+ explain {
+ sql("insert OVERWRITE table `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`")
+ contains("VOlapScanNode")
+ }
+ sql """
+ insert OVERWRITE table `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`
Review Comment:
removed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3870796185
run buildall
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3901634320
# BE Regression && UT Coverage Report
Increment line coverage `66.67% (16/24)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 71.80% (26066/36304) |
| Line Coverage | 54.47% (272900/501013) |
| Region Coverage | 51.97% (227365/437508) |
| Branch Coverage | 53.44% (97612/182673) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3957855789
PR approved by at least one committer and no changes requested.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3854558218
Thank you for your contribution to Apache Doris.
Don't know what should be done next? See [How to process your PR](https://cwiki.apache.org/confluence/display/DORIS/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?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3859968153
# FE Regression Coverage Report
Increment line coverage ` 29.44% (350/1189)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_9f3938347c127a752b04e13d9f40db00f84820c1_merge_fe/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_9f3938347c127a752b04e13d9f40db00f84820c1_merge_fe/report/index.html)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3858823722
<details>
<summary>ClickBench: <b>Total hot run time: 28.66 s</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 9f3938347c127a752b04e13d9f40db00f84820c1, data reload: false
query1 0.05 0.05 0.05
query2 0.13 0.07 0.07
query3 0.32 0.08 0.08
query4 1.61 0.10 0.10
query5 0.28 0.25 0.25
query6 1.15 0.65 0.65
query7 0.03 0.03 0.02
query8 0.07 0.06 0.06
query9 0.58 0.51 0.50
query10 0.55 0.56 0.54
query11 0.27 0.14 0.14
query12 0.26 0.14 0.15
query13 0.62 0.60 0.60
query14 0.98 0.99 0.98
query15 0.89 0.82 0.83
query16 0.45 0.39 0.39
query17 0.99 1.08 0.97
query18 0.25 0.23 0.23
query19 1.94 1.85 1.88
query20 0.02 0.02 0.01
query21 15.40 0.34 0.28
query22 4.92 0.11 0.12
query23 15.34 0.44 0.27
query24 2.34 0.56 0.37
query25 0.11 0.10 0.11
query26 0.19 0.18 0.19
query27 0.11 0.11 0.10
query28 3.62 1.16 0.99
query29 12.54 4.13 3.34
query30 0.33 0.13 0.11
query31 2.79 0.70 0.45
query32 3.24 0.62 0.50
query33 3.00 3.06 3.01
query34 16.27 5.10 4.42
query35 4.53 4.91 5.05
query36 0.69 0.58 0.55
query37 0.33 0.08 0.09
query38 0.28 0.06 0.06
query39 0.08 0.05 0.05
query40 0.20 0.18 0.16
query41 0.14 0.08 0.07
query42 0.09 0.05 0.05
query43 0.06 0.06 0.05
Total cold run time: 98.04 s
Total hot run time: 28.66 s
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [Feature] doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3859429931
# BE UT Coverage Report
Increment line coverage `13.33% (2/15)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/9f3938347c127a752b04e13d9f40db00f84820c1_9f3938347c127a752b04e13d9f40db00f84820c1/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/9f3938347c127a752b04e13d9f40db00f84820c1_9f3938347c127a752b04e13d9f40db00f84820c1/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 52.61% (19409/36895) |
| Line Coverage | 36.12% (180587/499982) |
| Region Coverage | 32.47% (140040/431269) |
| Branch Coverage | 33.48% (60631/181101) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "morningman (via GitHub)" <gi...@apache.org>.
morningman commented on code in PR #60557:
URL: https://github.com/apache/doris/pull/60557#discussion_r2780494246
##########
regression-test/suites/external_table_p0/remote_doris/test_insert_remote_doris_as_olap_table_select.groovy:
##########
@@ -0,0 +1,455 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_insert_remote_doris_as_olap_table_select", "p0,external,doris,external_docker,external_docker_doris") {
+ String remote_doris_host = context.config.otherConfigs.get("extArrowFlightSqlHost")
+ String remote_doris_arrow_port = context.config.otherConfigs.get("extArrowFlightSqlPort")
+ String remote_doris_http_port = context.config.otherConfigs.get("extArrowFlightHttpPort")
+ String remote_doris_user = context.config.otherConfigs.get("extArrowFlightSqlUser")
+ String remote_doris_psw = context.config.otherConfigs.get("extArrowFlightSqlPassword")
+ String remote_doris_thrift_port = context.config.otherConfigs.get("extFeThriftPort")
+
+ def showres = sql "show frontends";
+ remote_doris_arrow_port = showres[0][6]
+ remote_doris_http_port = showres[0][3]
+ remote_doris_thrift_port = showres[0][5]
+ log.info("show frontends log = ${showres}, arrow: ${remote_doris_arrow_port}, http: ${remote_doris_http_port}, thrift: ${remote_doris_thrift_port}")
+
+ def showres2 = sql "show backends";
+ log.info("show backends log = ${showres2}")
+
+ def db_name = "test_insert_remote_doris_as_olap_table_select_db"
+ def catalog_name = "test_insert_remote_doris_as_olap_table_select_catalog"
+
+ sql """DROP DATABASE IF EXISTS ${db_name}"""
+
+ sql """CREATE DATABASE IF NOT EXISTS ${db_name}"""
+
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_select_t` (
+ `id` datetime(3) NOT NULL,
+ `c_boolean` boolean NULL,
+ `c_tinyint` tinyint NULL,
+ `c_smallint` smallint NULL,
+ `c_int` int NULL,
+ `c_bigint` bigint NULL,
+ `c_largeint` largeint NULL,
+ `c_float` float NULL,
+ `c_double` double NULL,
+ `c_decimal9` decimal(9,0) NULL,
+ `c_decimal18` decimal(18,0) NULL,
+ `c_decimal32` decimal(32,0) NULL,
+ `c_date` date NULL,
+ `c_datetime` datetime NULL,
+ `c_char` char(1) NULL,
+ `c_varchar` varchar(65533) NULL,
+ `c_string` text NULL,
+ `c_array_s` array<text> NULL,
+ `c_map` MAP<STRING, INT> NULL,
+ `c_struct` STRUCT<f1:INT,f2:FLOAT,f3:STRING> NULL,
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+
+ sql """
+ DROP CATALOG IF EXISTS `${catalog_name}`
+ """
+
+
+ sql """
+ CREATE CATALOG `${catalog_name}` PROPERTIES (
+ 'type' = 'doris',
+ 'fe_http_hosts' = 'http://${remote_doris_host}:${remote_doris_http_port}',
+ 'fe_arrow_hosts' = '${remote_doris_host}:${remote_doris_arrow_port}',
+ 'fe_thrift_hosts' = '${remote_doris_host}:${remote_doris_thrift_port}',
+ 'user' = '${remote_doris_user}',
+ 'password' = '${remote_doris_psw}',
+ 'use_arrow_flight' = 'false'
+ );
+ """
+
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 01:00:00.000', true, -128, -32768, -2147483648, -9223372036854775808, -1234567890123456790, -123.456, -123456.789, -123457, -123456789012346, -1234567890123456789012345678, '1970-01-01', '0000-01-01 00:00:00', 'A', 'Hello', 'Hello, Doris!', '["apple", "banana", "orange"]', {"Emily":101,"age":25} , {11, 3.14, "Emily"})
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 02:00:00.000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 03:00:00.000', false, 127, 32767, 2147483647, 9223372036854775807, 1234567890123456789, 123.456, 123456.789, 123457, 123456789012346, 1234567890123456789012345678, '9999-12-31', '9999-12-31 23:59:59', '', '', '', [], {}, {11, 3.14, "Emily"})
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 04:00:00.000', true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '2023-10-01', '2023-10-01 12:34:56', 'A', 'Hello', 'Hello, Doris!', '["apple", "banana", "orange"]', {"Emily":101,"age":25} , {11, 3.14, "Emily"});
+ """
+
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_select_t2` (
+ `id` datetime(3) NOT NULL,
+ `a_boolean` array<boolean> NULL,
+ `a_tinyint` array<tinyint> NULL,
+ `a_smallint` array<smallint> NULL,
+ `a_int` array<int> NULL,
+ `a_bigint` array<bigint> NULL,
+ `a_largeint` array<largeint> NULL,
+ `a_float` array<float> NULL,
+ `a_double` array<double> NULL,
+ `a_decimal9` array<decimal(9,0)> NULL,
+ `a_decimal18` array<decimal(18,0)> NULL,
+ `a_decimal32` array<decimal(32,0)> NULL,
+ `a_date` array<date> NULL,
+ `a_datetime` array<datetime> NULL,
+ `a_char` array<char(1)> NULL,
+ `a_varchar` array<varchar(65533)> NULL,
+ `a_string` array<text> NULL
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 01:00:00.000', [true], [-128], [-32768], [-2147483648], [-9223372036854775808], [-1234567890123456790], [-123.456], [-123456.789], [-123457], [-123456789012346], [-1234567890123456789012345678], ['0000-01-01'], ['0000-01-01 00:00:00'], ['A'], ['Hello'], ['Hello, Doris!'])
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 02:00:00.000', [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL])
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 03:00:00.000', [false], [127], [32767], [2147483647], [9223372036854775807], [1234567890123456789], [123.456], [123456.789], [123457], [123456789012346], [1234567890123456789012345678], ['9999-12-31'], ['9999-12-31 23:59:59'], [''], [''], [''])
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 04:00:00.000', [true], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], ['2023-10-01'], ['2023-10-01 12:34:56'], ['A'], ['Hello'], ['Hello, Doris!']);
+ """
+
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_select_t3` (
+ `id` datetime NOT NULL,
+ `datetime_0` datetime(0) NULL,
+ `datetime_1` datetime(1) NULL,
+ `datetime_3` datetime(2) NULL,
+ `datetime_4` datetime(3) NULL,
+ `datetime_5` datetime(4) NULL,
+ `datetime_6` datetime(5) NULL,
+ `datetime_7` datetime(6) NULL
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` values('2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111');
+ """
+
+
+
+ qt_sql """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` order by id
+ """
+
+ qt_sql """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` order by id
+ """
+
+ qt_sql """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` order by id
+ """
+
+ // test select after insert also get correct data, it seems we can newly partition version
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` values('2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111');
+ """
+ qt_query_after_insert """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` order by id
+ """
+
+ // test insert command
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_insert` (
+ `id` datetime(3) NOT NULL,
+ `c_boolean` boolean NULL,
+ `c_tinyint` tinyint NULL,
+ `c_smallint` smallint NULL,
+ `c_int` int NULL,
+ `c_bigint` bigint NULL,
+ `c_largeint` largeint NULL,
+ `c_float` float NULL,
+ `c_double` double NULL,
+ `c_decimal9` decimal(9,0) NULL,
+ `c_decimal18` decimal(18,0) NULL,
+ `c_decimal32` decimal(32,0) NULL,
+ `c_date` date NULL,
+ `c_datetime` datetime NULL,
+ `c_char` char(1) NULL,
+ `c_varchar` varchar(65533) NULL,
+ `c_string` text NULL,
+ `c_array_s` array<text> NULL,
+ `c_map` MAP<STRING, INT> NULL,
+ `c_struct` STRUCT<f1:INT,f2:FLOAT,f3:STRING> NULL,
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+ // test insert into
+ explain {
+ sql("insert into `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`")
+ contains("VOlapScanNode")
+ }
+ sql """
+ insert into `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`
+ """
+ qt_after_insert_cmd """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` order by id
+ """
+ // test insert overwrite
+ explain {
+ sql("insert OVERWRITE table `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`")
+ contains("VOlapScanNode")
+ }
+ sql """
+ insert OVERWRITE table `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`
Review Comment:
And why we set these 2 variables?
##########
gensrc/thrift/FrontendService.thrift:
##########
@@ -1662,13 +1662,178 @@ struct TGetOlapTableMetaRequest {
5: required i64 table_id
6: optional i32 version // todo serialize according to the version
7: optional list<TPartitionMeta> partitions // client owned partition meta
+ 8: optional list<TPartitionMeta> temp_partitions // client owned partition meta
}
struct TGetOlapTableMetaResult {
1: required Status.TStatus status
2: required binary table_meta
3: optional list<binary> updated_partitions
4: optional list<i64> removed_partitions
+ 5: optional list<binary> updated_temp_partitions
+ 6: optional list<i64> removed_temp_partitions
+}
+
+// Remote transaction request and Result definitions for cross-cluster export.
+// These structs are used by beginRemoteTxn/commitRemoteTxn/abortRemoteTxn RPCs.
+struct TBeginRemoteTxnRequest {
+ 1: required string user
Review Comment:
always use `optional` for all fields
##########
regression-test/suites/external_table_p0/remote_doris/test_insert_remote_doris_as_olap_table_select.groovy:
##########
@@ -0,0 +1,455 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_insert_remote_doris_as_olap_table_select", "p0,external,doris,external_docker,external_docker_doris") {
+ String remote_doris_host = context.config.otherConfigs.get("extArrowFlightSqlHost")
+ String remote_doris_arrow_port = context.config.otherConfigs.get("extArrowFlightSqlPort")
+ String remote_doris_http_port = context.config.otherConfigs.get("extArrowFlightHttpPort")
+ String remote_doris_user = context.config.otherConfigs.get("extArrowFlightSqlUser")
+ String remote_doris_psw = context.config.otherConfigs.get("extArrowFlightSqlPassword")
+ String remote_doris_thrift_port = context.config.otherConfigs.get("extFeThriftPort")
+
+ def showres = sql "show frontends";
+ remote_doris_arrow_port = showres[0][6]
+ remote_doris_http_port = showres[0][3]
+ remote_doris_thrift_port = showres[0][5]
+ log.info("show frontends log = ${showres}, arrow: ${remote_doris_arrow_port}, http: ${remote_doris_http_port}, thrift: ${remote_doris_thrift_port}")
+
+ def showres2 = sql "show backends";
+ log.info("show backends log = ${showres2}")
+
+ def db_name = "test_insert_remote_doris_as_olap_table_select_db"
+ def catalog_name = "test_insert_remote_doris_as_olap_table_select_catalog"
+
+ sql """DROP DATABASE IF EXISTS ${db_name}"""
+
+ sql """CREATE DATABASE IF NOT EXISTS ${db_name}"""
+
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_select_t` (
+ `id` datetime(3) NOT NULL,
+ `c_boolean` boolean NULL,
+ `c_tinyint` tinyint NULL,
+ `c_smallint` smallint NULL,
+ `c_int` int NULL,
+ `c_bigint` bigint NULL,
+ `c_largeint` largeint NULL,
+ `c_float` float NULL,
+ `c_double` double NULL,
+ `c_decimal9` decimal(9,0) NULL,
+ `c_decimal18` decimal(18,0) NULL,
+ `c_decimal32` decimal(32,0) NULL,
+ `c_date` date NULL,
+ `c_datetime` datetime NULL,
+ `c_char` char(1) NULL,
+ `c_varchar` varchar(65533) NULL,
+ `c_string` text NULL,
+ `c_array_s` array<text> NULL,
+ `c_map` MAP<STRING, INT> NULL,
+ `c_struct` STRUCT<f1:INT,f2:FLOAT,f3:STRING> NULL,
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+
+ sql """
+ DROP CATALOG IF EXISTS `${catalog_name}`
+ """
+
+
+ sql """
+ CREATE CATALOG `${catalog_name}` PROPERTIES (
+ 'type' = 'doris',
+ 'fe_http_hosts' = 'http://${remote_doris_host}:${remote_doris_http_port}',
+ 'fe_arrow_hosts' = '${remote_doris_host}:${remote_doris_arrow_port}',
+ 'fe_thrift_hosts' = '${remote_doris_host}:${remote_doris_thrift_port}',
+ 'user' = '${remote_doris_user}',
+ 'password' = '${remote_doris_psw}',
+ 'use_arrow_flight' = 'false'
+ );
+ """
+
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 01:00:00.000', true, -128, -32768, -2147483648, -9223372036854775808, -1234567890123456790, -123.456, -123456.789, -123457, -123456789012346, -1234567890123456789012345678, '1970-01-01', '0000-01-01 00:00:00', 'A', 'Hello', 'Hello, Doris!', '["apple", "banana", "orange"]', {"Emily":101,"age":25} , {11, 3.14, "Emily"})
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 02:00:00.000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 03:00:00.000', false, 127, 32767, 2147483647, 9223372036854775807, 1234567890123456789, 123.456, 123456.789, 123457, 123456789012346, 1234567890123456789012345678, '9999-12-31', '9999-12-31 23:59:59', '', '', '', [], {}, {11, 3.14, "Emily"})
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` values('2025-05-18 04:00:00.000', true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '2023-10-01', '2023-10-01 12:34:56', 'A', 'Hello', 'Hello, Doris!', '["apple", "banana", "orange"]', {"Emily":101,"age":25} , {11, 3.14, "Emily"});
+ """
+
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_select_t2` (
+ `id` datetime(3) NOT NULL,
+ `a_boolean` array<boolean> NULL,
+ `a_tinyint` array<tinyint> NULL,
+ `a_smallint` array<smallint> NULL,
+ `a_int` array<int> NULL,
+ `a_bigint` array<bigint> NULL,
+ `a_largeint` array<largeint> NULL,
+ `a_float` array<float> NULL,
+ `a_double` array<double> NULL,
+ `a_decimal9` array<decimal(9,0)> NULL,
+ `a_decimal18` array<decimal(18,0)> NULL,
+ `a_decimal32` array<decimal(32,0)> NULL,
+ `a_date` array<date> NULL,
+ `a_datetime` array<datetime> NULL,
+ `a_char` array<char(1)> NULL,
+ `a_varchar` array<varchar(65533)> NULL,
+ `a_string` array<text> NULL
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 01:00:00.000', [true], [-128], [-32768], [-2147483648], [-9223372036854775808], [-1234567890123456790], [-123.456], [-123456.789], [-123457], [-123456789012346], [-1234567890123456789012345678], ['0000-01-01'], ['0000-01-01 00:00:00'], ['A'], ['Hello'], ['Hello, Doris!'])
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 02:00:00.000', [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL], [NULL])
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 03:00:00.000', [false], [127], [32767], [2147483647], [9223372036854775807], [1234567890123456789], [123.456], [123456.789], [123457], [123456789012346], [1234567890123456789012345678], ['9999-12-31'], ['9999-12-31 23:59:59'], [''], [''], [''])
+ """
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` values('2025-05-18 04:00:00.000', [true], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], ['2023-10-01'], ['2023-10-01 12:34:56'], ['A'], ['Hello'], ['Hello, Doris!']);
+ """
+
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_select_t3` (
+ `id` datetime NOT NULL,
+ `datetime_0` datetime(0) NULL,
+ `datetime_1` datetime(1) NULL,
+ `datetime_3` datetime(2) NULL,
+ `datetime_4` datetime(3) NULL,
+ `datetime_5` datetime(4) NULL,
+ `datetime_6` datetime(5) NULL,
+ `datetime_7` datetime(6) NULL
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` values('2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111', '2025-05-18 01:00:00.111111');
+ """
+
+
+
+ qt_sql """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t` order by id
+ """
+
+ qt_sql """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t2` order by id
+ """
+
+ qt_sql """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` order by id
+ """
+
+ // test select after insert also get correct data, it seems we can newly partition version
+ sql """
+ INSERT INTO `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` values('2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111', '2025-05-19 01:00:00.111111');
+ """
+ qt_query_after_insert """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t3` order by id
+ """
+
+ // test insert command
+ sql """
+ CREATE TABLE `${db_name}`.`test_remote_doris_all_types_insert` (
+ `id` datetime(3) NOT NULL,
+ `c_boolean` boolean NULL,
+ `c_tinyint` tinyint NULL,
+ `c_smallint` smallint NULL,
+ `c_int` int NULL,
+ `c_bigint` bigint NULL,
+ `c_largeint` largeint NULL,
+ `c_float` float NULL,
+ `c_double` double NULL,
+ `c_decimal9` decimal(9,0) NULL,
+ `c_decimal18` decimal(18,0) NULL,
+ `c_decimal32` decimal(32,0) NULL,
+ `c_date` date NULL,
+ `c_datetime` datetime NULL,
+ `c_char` char(1) NULL,
+ `c_varchar` varchar(65533) NULL,
+ `c_string` text NULL,
+ `c_array_s` array<text> NULL,
+ `c_map` MAP<STRING, INT> NULL,
+ `c_struct` STRUCT<f1:INT,f2:FLOAT,f3:STRING> NULL,
+ ) ENGINE=OLAP
+ DUPLICATE KEY(`id`)
+ DISTRIBUTED BY HASH(`id`) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ );
+ """
+ // test insert into
+ explain {
+ sql("insert into `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`")
+ contains("VOlapScanNode")
+ }
+ sql """
+ insert into `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`
+ """
+ qt_after_insert_cmd """
+ select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` order by id
+ """
+ // test insert overwrite
+ explain {
+ sql("insert OVERWRITE table `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`")
+ contains("VOlapScanNode")
+ }
+ sql """
+ insert OVERWRITE table `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_insert` select /*+ SET_VAR(enable_nereids_distribute_planner=true, enable_sql_cache=true) */ * from `${catalog_name}`.`${db_name}`.`test_remote_doris_all_types_select_t`
Review Comment:
What is the behavior of setting these variables?
Does it affect remote cluster?
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/doris/FeServiceClient.java:
##########
@@ -173,42 +301,462 @@ public RemoteOlapTable getOlapTable(String dbName, String table, long tableId, L
removedPartitions = new ArrayList<>();
}
remoteOlapTable.rebuildPartitions(partitions, updatedPartitions, removedPartitions);
+ // rebuild temp partitions
+ if (result.isSetUpdatedTempPartitions() && result.getUpdatedTempPartitionsSize() > 0) {
+ updatedPartitions = new ArrayList<>(result.getUpdatedTempPartitionsSize());
+ for (ByteBuffer buffer : result.getUpdatedTempPartitions()) {
+ try (ByteArrayInputStream in =
+ new ByteArrayInputStream(buffer.array(), buffer.position(), buffer.remaining());
+ DataInputStream dataInputStream = new DataInputStream(in)) {
+ String partitionStr = Text.readString(dataInputStream);
+ Partition partition = GsonUtils.GSON.fromJson(partitionStr, Partition.class);
+ updatedPartitions.add(partition);
+ }
+ }
+ }
+ removedPartitions = result.getRemovedTempPartitions();
+ if (removedPartitions == null) {
+ removedPartitions = new ArrayList<>();
+ }
+ remoteOlapTable.rebuildTempPartitions(tempPartitions, updatedPartitions, removedPartitions);
return remoteOlapTable;
- }, msg, timeout);
+ }, msg, timeoutMs);
+ }
+
+ public TBeginRemoteTxnResult beginRemoteTxn(TBeginRemoteTxnRequest request) throws Exception {
+ request.setUser(user);
+ request.setPasswd(password);
+ String msg = String.format("failed to begin remote txn from remote doris:%s, label=%s", name,
+ request.getLabel());
+ long startTime = System.currentTimeMillis();
+ TBeginRemoteTxnResult result;
+ try {
+ result = masterCallWithRetry(client -> client.beginRemoteTxn(request), msg,
+ Math.max(timeoutMs, (int) request.getTimeoutMs()));
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("begin remote txn for catalog {} failed, cost={}ms", name, costMs, e);
+ throw e;
+ }
+
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.info("begin remote txn for catalog {} finished, cost={}ms, statusCode={}",
+ name, costMs, result.getStatus().getStatusCode());
+ return result;
+ }
+
+ public TCommitRemoteTxnResult commitRemoteTxn(TCommitRemoteTxnRequest request) throws Exception {
+ request.setUser(user);
+ request.setPasswd(password);
+ String msg = String.format("failed to commit remote txn from remote doris:%s, txnId=%d", name,
+ request.getTxnId());
+ long startTime = System.currentTimeMillis();
+ TCommitRemoteTxnResult result;
+ try {
+ result = masterCallWithRetry(client -> client.commitRemoteTxn(request), msg,
+ Math.max(timeoutMs, (int) request.getInsertVisibleTimeoutMs()));
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("commit remote txn for catalog {} failed, txnId={}, cost={}ms",
+ name, request.getTxnId(), costMs, e);
+ throw e;
+ }
+
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.info("commit remote txn for catalog {} finished, txnId={}, cost={}ms, statusCode={}",
+ name, request.getTxnId(), costMs, result.getStatus().getStatusCode());
+ return result;
+ }
+
+ public TAbortRemoteTxnResult abortRemoteTxn(TAbortRemoteTxnRequest request) throws Exception {
+ request.setUser(user);
+ request.setPasswd(password);
+ String msg = String.format("failed to abort remote txn from remote doris:%s, txnId=%d", name,
+ request.getTxnId());
+ long startTime = System.currentTimeMillis();
+ TAbortRemoteTxnResult result;
+ try {
+ result = masterCallWithRetry(client -> client.abortRemoteTxn(request), msg, timeoutMs);
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("abort remote txn for catalog {} failed, txnId={}, cost={}ms",
+ name, request.getTxnId(), costMs, e);
+ throw e;
+ }
+
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.info("abort remote txn for catalog {} finished, txnId={}, cost={}ms, statusCode={}",
+ name, request.getTxnId(), costMs, result.getStatus().getStatusCode());
+ return result;
}
private interface ThriftCall<T> {
public T call(FrontendService.Client client) throws Exception;
}
- private static class MasterResult<T> {
- boolean isMaster = true;
- T result;
- boolean hasError = false;
- String errorMsg;
+ public TNetworkAddress getMasterAddress() throws RuntimeException {
+ TMasterAddressRequest request = new TMasterAddressRequest();
+ request.setUser(user);
+ request.setPasswd(password);
+ long startTime = System.currentTimeMillis();
+ TMasterAddressResult result;
+ try {
+ result = masterCallWithRetry(client -> client.getMasterAddress(request),
+ "failed to get master address from remote doris:" + name, timeoutMs);
+ if (result.isSetMasterAddress()) {
+ master = result.getMasterAddress();
+ }
+ if (result.getStatus().getStatusCode() != TStatusCode.OK) {
+ throw new RuntimeException(result.getStatus().getErrorMsgs().get(0));
+ }
+ } catch (Exception e) {
+ long costMs = System.currentTimeMillis() - startTime;
+ LOG.warn("get master address for catalog {} failed, cost={}ms", name, costMs, e);
+ throw new RuntimeException(e.getMessage());
Review Comment:
```suggestion
throw new RuntimeException(Util.getRootCause(e), e);
```
Same suggestion for other places
##########
gensrc/thrift/FrontendService.thrift:
##########
@@ -1662,13 +1662,178 @@ struct TGetOlapTableMetaRequest {
5: required i64 table_id
6: optional i32 version // todo serialize according to the version
7: optional list<TPartitionMeta> partitions // client owned partition meta
+ 8: optional list<TPartitionMeta> temp_partitions // client owned partition meta
}
struct TGetOlapTableMetaResult {
1: required Status.TStatus status
2: required binary table_meta
3: optional list<binary> updated_partitions
4: optional list<i64> removed_partitions
+ 5: optional list<binary> updated_temp_partitions
+ 6: optional list<i64> removed_temp_partitions
+}
+
+// Remote transaction request and Result definitions for cross-cluster export.
+// These structs are used by beginRemoteTxn/commitRemoteTxn/abortRemoteTxn RPCs.
+struct TBeginRemoteTxnRequest {
+ 1: required string user
+ 2: required string passwd
+ 3: optional string token
+ 4: required string db
Review Comment:
better add `catalog`, even if currently only support "internal" catalog
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3875385990
# BE Regression && UT Coverage Report
Increment line coverage `13.33% (2/15)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_ef0c94e649ed972209a13ed67e7e65fa49ea4dc9_merge/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_ef0c94e649ed972209a13ed67e7e65fa49ea4dc9_merge/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 57.37% (20733/36139) |
| Line Coverage | 40.29% (200931/498675) |
| Region Coverage | 36.96% (160970/435562) |
| Branch Coverage | 37.71% (68547/181761) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "TsukiokaKogane (via GitHub)" <gi...@apache.org>.
TsukiokaKogane commented on code in PR #60557:
URL: https://github.com/apache/doris/pull/60557#discussion_r2804867361
##########
be/src/exec/tablet_info.cpp:
##########
@@ -447,6 +447,10 @@ VOlapTablePartitionParam::VOlapTablePartitionParam(std::shared_ptr<OlapTableSche
_overwrite_group_id = t_param.overwrite_group_id;
}
+ if (t_param.__isset.master_address) {
+ _master_address = new TNetworkAddress(t_param.master_address);
Review Comment:
fixed
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/doris/FeServiceClient.java:
##########
@@ -56,25 +81,26 @@ public class FeServiceClient {
private final String user;
private final String password;
private final int retryCount;
- private final int timeout;
+ private final int timeoutMs;
+ private volatile TNetworkAddress master;
Review Comment:
fixed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "morningman (via GitHub)" <gi...@apache.org>.
morningman commented on code in PR #60557:
URL: https://github.com/apache/doris/pull/60557#discussion_r2802455882
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/doris/FeServiceClient.java:
##########
@@ -56,25 +81,26 @@ public class FeServiceClient {
private final String user;
private final String password;
private final int retryCount;
- private final int timeout;
+ private final int timeoutMs;
+ private volatile TNetworkAddress master;
Review Comment:
How about using `AtomicReference<TNetworkAddress>`?
##########
be/src/exec/tablet_info.cpp:
##########
@@ -447,6 +447,10 @@ VOlapTablePartitionParam::VOlapTablePartitionParam(std::shared_ptr<OlapTableSche
_overwrite_group_id = t_param.overwrite_group_id;
}
+ if (t_param.__isset.master_address) {
+ _master_address = new TNetworkAddress(t_param.master_address);
Review Comment:
better use smart pointer instead of raw pointer.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3899532895
# FE Regression Coverage Report
Increment line coverage ` 29.63% (371/1252)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge_fe/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_ee6a26df6cc55709ed3e058d2294a831dc77e153_merge_fe/report/index.html)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3958141589
<details>
<summary>TPC-DS: <b>Total hot run time: 183639 ms</b></summary>
```
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit d552c156312988d13a7e1dc37a84672169ae2f57, data reload: false
query5 4411 654 536 536
query6 463 223 222 222
query7 4224 479 278 278
query8 369 252 245 245
query9 8762 2747 2721 2721
query10 506 406 339 339
query11 16977 17491 17264 17264
query12 188 129 131 129
query13 1297 488 362 362
query14 6838 3418 3067 3067
query14_1 2939 3011 2940 2940
query15 206 200 204 200
query16 991 500 490 490
query17 1422 780 648 648
query18 2983 467 367 367
query19 230 234 200 200
query20 149 142 143 142
query21 238 163 144 144
query22 5568 5012 4938 4938
query23 17315 16729 16568 16568
query23_1 16780 16696 16725 16696
query24 7200 1640 1228 1228
query24_1 1248 1248 1240 1240
query25 563 480 431 431
query26 1233 278 152 152
query27 2732 508 294 294
query28 4399 1864 1838 1838
query29 779 542 455 455
query30 313 244 207 207
query31 867 736 646 646
query32 83 71 70 70
query33 514 337 270 270
query34 919 928 570 570
query35 632 672 576 576
query36 1095 1178 943 943
query37 128 93 86 86
query38 2952 2874 2915 2874
query39 891 877 838 838
query39_1 829 845 818 818
query40 229 153 133 133
query41 60 57 56 56
query42 110 105 101 101
query43 367 387 347 347
query44
query45 194 189 185 185
query46 871 969 593 593
query47 2140 2119 2048 2048
query48 314 307 229 229
query49 624 464 384 384
query50 675 283 211 211
query51 4128 4058 4015 4015
query52 106 107 101 101
query53 291 335 283 283
query54 286 258 253 253
query55 96 89 80 80
query56 302 313 290 290
query57 1398 1354 1294 1294
query58 288 275 289 275
query59 2583 2691 2554 2554
query60 366 328 319 319
query61 142 148 159 148
query62 627 595 529 529
query63 305 277 275 275
query64 4840 1254 965 965
query65
query66 1410 461 343 343
query67 16538 16460 16249 16249
query68
query69 392 319 275 275
query70 976 964 959 959
query71 324 299 297 297
query72 2737 2626 2418 2418
query73 542 540 318 318
query74 9950 9885 9770 9770
query75 2823 2766 2460 2460
query76 2304 1045 684 684
query77 348 381 300 300
query78 11245 11479 10698 10698
query79 1124 781 592 592
query80 1347 625 527 527
query81 553 277 245 245
query82 1339 158 114 114
query83 329 255 241 241
query84 247 119 92 92
query85 918 470 431 431
query86 413 304 287 287
query87 3165 3177 2967 2967
query88 3498 2641 2623 2623
query89 428 369 344 344
query90 1988 171 171 171
query91 163 157 132 132
query92 76 75 75 75
query93 906 830 507 507
query94 631 304 279 279
query95 583 332 313 313
query96 632 524 227 227
query97 2477 2511 2427 2427
query98 224 214 223 214
query99 999 1023 950 950
Total cold run time: 254606 ms
Total hot run time: 183639 ms
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org
Re: [PR] [feat](doris-catalog) doris cross-cluster insert [doris]
Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #60557:
URL: https://github.com/apache/doris/pull/60557#issuecomment-3959300742
# BE Regression && UT Coverage Report
Increment line coverage `66.67% (16/24)` :tada:
[Increment coverage report](http://coverage.selectdb-in.cc/coverage/60557_d552c156312988d13a7e1dc37a84672169ae2f57_merge/increment_report/index.html)
[Complete coverage report](http://coverage.selectdb-in.cc/coverage/60557_d552c156312988d13a7e1dc37a84672169ae2f57_merge/report/index.html)
| Category | Coverage |
|-------------------|--------------------|
| Function Coverage | 71.55% (26133/36525) |
| Line Coverage | 54.30% (273694/503995) |
| Region Coverage | 51.59% (227341/440710) |
| Branch Coverage | 53.04% (97812/184398) |
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org