Interm Result Management is Splitted to Tenants

This commit is contained in:
obdev
2023-10-19 06:39:26 +00:00
committed by ob-robot
parent c72190a2c0
commit a68da2aa9c
17 changed files with 249 additions and 198 deletions

View File

@ -382,7 +382,7 @@ int ObPxReceiveOp::inner_rescan()
channel->reset_state();
channel->set_batch_id(ctx_.get_px_batch_id());
channel->reset_px_row_iterator();
release_channel_ret = ObDTLIntermResultManager::getInstance().erase_interm_result_info(key);
release_channel_ret = MTL(ObDTLIntermResultManager*)->erase_interm_result_info(key);
if (release_channel_ret != common::OB_SUCCESS) {
LOG_WARN("fail to release recieve internal result", KR(release_channel_ret), K(ret));
}
@ -541,7 +541,7 @@ int ObPxReceiveOp::erase_dtl_interm_result()
for (int64_t batch_id = ctx_.get_px_batch_id();
batch_id < PX_RESCAN_BATCH_ROW_COUNT && OB_SUCC(ret); batch_id++) {
key.batch_id_ = batch_id;
if (OB_FAIL(ObDTLIntermResultManager::getInstance().erase_interm_result_info(key))) {
if (OB_FAIL(MTL(ObDTLIntermResultManager*)->erase_interm_result_info(key))) {
if (OB_HASH_NOT_EXIST == ret) {
ret = OB_SUCCESS;
break;

View File

@ -1121,7 +1121,7 @@ int ObPxCoordOp::erase_dtl_interm_result()
key.channel_id_ = ci.chid_;
for (int j = 0; j < last_px_batch_rescan_size_; ++j) {
key.batch_id_ = j;
if (OB_FAIL(ObDTLIntermResultManager::getInstance().erase_interm_result_info(key))) {
if (OB_FAIL(MTL(ObDTLIntermResultManager*)->erase_interm_result_info(key))) {
LOG_TRACE("fail to release recieve internal result", K(ret));
}
}

View File

@ -660,7 +660,7 @@ int ObPxCleanDtlIntermResP::process()
key.channel_id_ = ch_set.get_ch_info_set().at(ch_idx).chid_;
for (int64_t batch_id = 0; batch_id < batch_size && OB_SUCC(ret); batch_id++) {
key.batch_id_= batch_id;
if (OB_FAIL(dtl::ObDTLIntermResultManager::getInstance().erase_interm_result_info(key))) {
if (OB_FAIL(MTL(dtl::ObDTLIntermResultManager*)->erase_interm_result_info(key))) {
if (OB_HASH_NOT_EXIST == ret) {
// interm result is written from batch_id = 0 to batch_size,
// if some errors happen when batch_id = i, no interm result of batch_id > i will be written.