This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 8c532e8808 [fix](restore) work around, ingest binlog after
backup/restore which local_tablet.partition_id is not correct, use
req.partition_id (#21288)
8c532e8808 is described below
commit 8c532e8808125cbd2e144b30f689c07151635b19
Author: Jack Drogon <[email protected]>
AuthorDate: Thu Jun 29 17:19:02 2023 +0800
[fix](restore) work around, ingest binlog after backup/restore which
local_tablet.partition_id is not correct, use req.partition_id (#21288)
* work around, ingest binlog after backup/restore which
local_tablet.partition_id is not correct, use by
req.partition_id
Signed-off-by: Jack Drogon <[email protected]>
---
be/src/service/backend_service.cpp | 11 ++++++-----
.../groovy/org/apache/doris/regression/suite/Syncer.groovy | 2 +-
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/be/src/service/backend_service.cpp
b/be/src/service/backend_service.cpp
index 1b4a1ec944..76722ba858 100644
--- a/be/src/service/backend_service.cpp
+++ b/be/src/service/backend_service.cpp
@@ -384,6 +384,7 @@ void
BackendService::check_storage_format(TCheckStorageFormatResult& result) {
void BackendService::ingest_binlog(TIngestBinlogResult& result,
const TIngestBinlogRequest& request) {
+ constexpr uint64_t kMaxTimeoutMs = 1000;
TStatus tstatus;
Defer defer {[&result, &tstatus]() { result.__set_status(tstatus); }};
@@ -485,7 +486,7 @@ void BackendService::ingest_binlog(TIngestBinlogResult&
result,
std::string binlog_info;
auto get_binlog_info_cb = [&get_binlog_info_url, &binlog_info](HttpClient*
client) {
RETURN_IF_ERROR(client->init(get_binlog_info_url));
- client->set_timeout_ms(10); // 10ms
+ client->set_timeout_ms(kMaxTimeoutMs);
return client->execute(&binlog_info);
};
status = HttpClient::execute_with_retry(max_retry, 1, get_binlog_info_cb);
@@ -509,7 +510,7 @@ void BackendService::ingest_binlog(TIngestBinlogResult&
result,
std::string rowset_meta_str;
auto get_rowset_meta_cb = [&get_rowset_meta_url,
&rowset_meta_str](HttpClient* client) {
RETURN_IF_ERROR(client->init(get_rowset_meta_url));
- client->set_timeout_ms(10); // 10ms
+ client->set_timeout_ms(kMaxTimeoutMs);
return client->execute(&rowset_meta_str);
};
status = HttpClient::execute_with_retry(max_retry, 1, get_rowset_meta_cb);
@@ -528,7 +529,7 @@ void BackendService::ingest_binlog(TIngestBinlogResult&
result,
}
// rewrite rowset meta
rowset_meta_pb.set_tablet_id(local_tablet_id);
-
rowset_meta_pb.set_partition_id(local_tablet->tablet_meta()->partition_id());
+ rowset_meta_pb.set_partition_id(partition_id);
rowset_meta_pb.set_tablet_schema_hash(local_tablet->tablet_meta()->schema_hash());
rowset_meta_pb.set_txn_id(txn_id);
rowset_meta_pb.set_rowset_state(RowsetStatePB::COMMITTED);
@@ -556,7 +557,7 @@ void BackendService::ingest_binlog(TIngestBinlogResult&
result,
auto get_segment_file_size_cb = [&get_segment_file_size_url,
&segment_file_size](HttpClient*
client) {
RETURN_IF_ERROR(client->init(get_segment_file_size_url));
- client->set_timeout_ms(10); // 10ms
+ client->set_timeout_ms(kMaxTimeoutMs);
RETURN_IF_ERROR(client->head());
return client->get_content_length(&segment_file_size);
};
@@ -600,7 +601,7 @@ void BackendService::ingest_binlog(TIngestBinlogResult&
result,
auto get_segment_file_cb = [&get_segment_file_url,
&local_segment_path, segment_file_size,
estimate_timeout](HttpClient* client) {
RETURN_IF_ERROR(client->init(get_segment_file_url));
- client->set_timeout_ms(estimate_timeout * 1000); // 10ms
+ client->set_timeout_ms(estimate_timeout * 1000);
RETURN_IF_ERROR(client->download(local_segment_path));
std::error_code ec;
diff --git
a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Syncer.groovy
b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Syncer.groovy
index e8724bb097..805093ef4f 100644
---
a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Syncer.groovy
+++
b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Syncer.groovy
@@ -680,7 +680,7 @@ class Syncer {
}
tarPartition.value.version = srcPartition.value.version
- long partitionId = fakePartitionId == -1 ?
srcPartition.key : fakePartitionId
+ long partitionId = fakePartitionId == -1 ?
tarPartition.key : fakePartitionId
long version = fakeVersion == -1 ?
srcPartition.value.version : fakeVersion
TIngestBinlogRequest request = new TIngestBinlogRequest()
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]