Fix join filter use execution id, use px sequnce id instead

This commit is contained in:
qianchanger
2023-02-24 16:17:53 +00:00
committed by ob-robot
parent 6a7db74811
commit 0d9457b9d4
12 changed files with 36 additions and 25 deletions

View File

@ -550,6 +550,7 @@ int ObPxTaskProcess::OpPreparation::apply(ObExecContext &ctx,
LOG_WARN("the partition-wise join's subplan contain a gi operator", K(*gi), K(ret));
} else {
input->set_worker_id(task_id_);
input->set_px_sequence_id(task_->px_int_id_.px_interrupt_id_.first_);
if (ObGranuleUtil::pwj_gi(gi->gi_attri_flag_)) {
pw_gi_spec_ = gi;
on_set_tscs_ = true;
@ -585,14 +586,15 @@ int ObPxTaskProcess::OpPreparation::apply(ObExecContext &ctx,
}
} else if (IS_PX_BLOOM_FILTER(op.get_type())) {
ObJoinFilterSpec *filter_spec = reinterpret_cast<ObJoinFilterSpec *>(&op);
if (filter_spec->is_shared_join_filter()) {
/*do nothing*/
} else if (OB_ISNULL(kit->input_)) {
if (OB_ISNULL(kit->input_)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("operator is NULL", K(ret), K(op.id_), KP(kit));
} else {
ObJoinFilterOpInput *input = static_cast<ObJoinFilterOpInput *>(kit->input_);
input->set_task_id(task_id_);
input->set_px_sequence_id(task_->px_int_id_.px_interrupt_id_.first_);
if (!filter_spec->is_shared_join_filter()) {
input->set_task_id(task_id_);
}
}
} else if (PHY_TEMP_TABLE_INSERT == op.type_) {
ObOperatorKit *kit = ctx.get_operator_kit(op.id_);