cherry pick from #39467
This commit is contained in:
@ -919,13 +919,6 @@ void report_task_callback(const TMasterInfo& master_info) {
|
||||
}
|
||||
|
||||
void report_disk_callback(StorageEngine& engine, const TMasterInfo& master_info) {
|
||||
// Random sleep 1~5 seconds before doing report.
|
||||
// In order to avoid the problem that the FE receives many report requests at the same time
|
||||
// and can not be processed.
|
||||
if (config::report_random_wait) {
|
||||
random_sleep(5);
|
||||
}
|
||||
|
||||
TReportRequest request;
|
||||
request.__set_backend(BackendOptions::get_local_backend());
|
||||
request.__isset.disks = true;
|
||||
@ -966,8 +959,16 @@ void report_tablet_callback(StorageEngine& engine, const TMasterInfo& master_inf
|
||||
request.__set_backend(BackendOptions::get_local_backend());
|
||||
request.__isset.tablets = true;
|
||||
|
||||
uint64_t report_version = s_report_version;
|
||||
engine.tablet_manager()->build_all_report_tablets_info(&request.tablets);
|
||||
uint64_t report_version;
|
||||
for (int i = 0; i < 5; i++) {
|
||||
request.tablets.clear();
|
||||
report_version = s_report_version;
|
||||
engine.tablet_manager()->build_all_report_tablets_info(&request.tablets);
|
||||
if (report_version == s_report_version) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (report_version < s_report_version) {
|
||||
// TODO llj This can only reduce the possibility for report error, but can't avoid it.
|
||||
// If FE create a tablet in FE meta and send CREATE task to this BE, the tablet may not be included in this
|
||||
|
||||
Reference in New Issue
Block a user