[CP] Fix the issue where importing a single file causes IO resource isolation to fail
This commit is contained in:
parent
516f6fef77
commit
2488634066
@ -2329,17 +2329,16 @@ int ObTenantIOManager::print_io_function_status()
|
||||
int FUNC_NUM = static_cast<uint8_t>(share::ObFunctionType::MAX_FUNCTION_NUM);
|
||||
int GROUP_MODE_NUM = static_cast<uint8_t>(ObIOGroupMode::MODECNT);
|
||||
ObIOFuncUsageArr &func_usages = io_func_infos_.func_usages_;
|
||||
double avg_size = 0;
|
||||
double avg_iops = 0;
|
||||
int64_t avg_bw = 0;
|
||||
int64_t avg_prepare_delay = 0;
|
||||
int64_t avg_schedule_delay = 0;
|
||||
int64_t avg_submit_delay = 0;
|
||||
int64_t avg_device_delay = 0;
|
||||
int64_t avg_total_delay = 0;
|
||||
for (int i = 0; OB_SUCC(ret) && i < FUNC_NUM; ++i) {
|
||||
for (int j = 0; OB_SUCC(ret) && j < GROUP_MODE_NUM; ++j) {
|
||||
avg_size = 0;
|
||||
double avg_size = 0;
|
||||
double avg_iops = 0;
|
||||
int64_t avg_bw = 0;
|
||||
int64_t avg_prepare_delay = 0;
|
||||
int64_t avg_schedule_delay = 0;
|
||||
int64_t avg_submit_delay = 0;
|
||||
int64_t avg_device_delay = 0;
|
||||
int64_t avg_total_delay = 0;
|
||||
const char *mode_str = get_io_mode_string(static_cast<ObIOGroupMode>(j));
|
||||
if (i >= func_usages.count()) {
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
|
@ -604,6 +604,14 @@ int ObIOGroupUsage::calc(double &avg_size, double &avg_iops, int64_t &avg_bw,
|
||||
int ret = OB_SUCCESS;
|
||||
int64_t now = ObTimeUtility::fast_current_time();
|
||||
int64_t last_ts = ATOMIC_LOAD(&last_ts_);
|
||||
avg_size = 0;
|
||||
avg_iops = 0;
|
||||
avg_bw = 0;
|
||||
avg_prepare_delay = 0;
|
||||
avg_schedule_delay = 0;
|
||||
avg_submit_delay = 0;
|
||||
avg_device_delay = 0;
|
||||
avg_total_delay = 0;
|
||||
if (0 != last_ts && now - last_ts > 0 && ATOMIC_BCAS(&last_ts_, last_ts, 0)) {
|
||||
int64_t size = 0;
|
||||
int64_t io_count = 0;
|
||||
|
@ -1441,6 +1441,7 @@ int ObLoadDataDirectImpl::LargeFileLoadExecutor::get_next_task_handle(TaskHandle
|
||||
int64_t current_line_count = 0;
|
||||
const int64_t chunk_id = next_chunk_id_ ++;
|
||||
expr_buffer_.reuse();
|
||||
CONSUMER_GROUP_FUNC_GUARD(ObFunctionType::PRIO_IMPORT);
|
||||
if (OB_UNLIKELY(chunk_id > ObTableLoadSequenceNo::MAX_CHUNK_ID)) {
|
||||
ret = OB_SIZE_OVERFLOW;
|
||||
LOG_WARN("size is overflow", KR(ret), K(chunk_id));
|
||||
|
Loading…
x
Reference in New Issue
Block a user