[CP] fix index exceeds core of print_io_status

This commit is contained in:
zhjc1124 2024-03-11 08:50:46 +00:00 committed by ob-robot
parent 91295b58cc
commit de4083aa5e
3 changed files with 3 additions and 3 deletions

View File

@ -357,7 +357,7 @@ int ObAllVirtualIOQuota::record_user_group(const uint64_t tenant_id, ObIOUsage &
ObIOUsage::AvgItems avg_iops, avg_size, avg_rt;
io_usage.calculate_io_usage();
io_usage.get_io_usage(avg_iops, avg_size, avg_rt);
for (int64_t i = 0; i < io_config.group_num_; ++i) {
for (int64_t i = 0; i < io_config.group_num_ && i < avg_size.count() && i < avg_iops.count() && i < avg_rt.count(); ++i) {
if (io_config.group_configs_.at(i).deleted_ || io_config.group_configs_.at(i).cleared_) {
continue;
}

View File

@ -1499,7 +1499,7 @@ void ObTenantIOManager::print_io_status()
ObSysIOUsage::SysAvgItems sys_avg_iops, sys_avg_size, sys_avg_rt;
io_usage_.get_io_usage(avg_iops, avg_size, avg_rt);
io_backup_usage_.get_io_usage(sys_avg_iops, sys_avg_size, sys_avg_rt);
for (int64_t i = 1; i < io_usage_.get_io_usage_num(); ++i) {
for (int64_t i = 1; i < io_usage_.get_io_usage_num() && i < avg_size.count() && i < avg_iops.count() && i < avg_rt.count(); ++i) {
if (io_config_.group_configs_.at(i-1).deleted_) {
continue;
}

View File

@ -577,7 +577,7 @@ bool ObIOUsage::is_request_doing(const int64_t index) const
int64_t ObIOUsage::get_io_usage_num() const
{
return group_num_;
return ATOMIC_LOAD(&group_num_);
}
int64_t ObIOUsage::to_string(char* buf, const int64_t buf_len) const