Fix -4016 problem in ob_task serialize
This commit is contained in:
committed by
wangzelin.wzl
parent
b78e3041b2
commit
a2c22b06aa
@ -726,10 +726,13 @@ OB_DEF_SERIALIZE(ObPxRpcInitTaskArgs)
|
|||||||
LOG_WARN("failed to deserialize kit store", K(ret));
|
LOG_WARN("failed to deserialize kit store", K(ret));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
ObPhyOpSeriCtx seri_ctx;
|
||||||
|
seri_ctx.exec_ctx_ = exec_ctx_;
|
||||||
if (OB_ISNULL(op_root_)) {
|
if (OB_ISNULL(op_root_)) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("unexpected status: op root is null", K(ret));
|
LOG_WARN("unexpected status: op root is null", K(ret));
|
||||||
} else if (OB_FAIL(ObPxTreeSerializer::serialize_tree(buf, buf_len, pos, *op_root_, task_.is_fulltree()))) {
|
} else if (OB_FAIL(ObPxTreeSerializer::serialize_tree(buf, buf_len, pos,
|
||||||
|
*op_root_, task_.is_fulltree(), &seri_ctx))) {
|
||||||
LOG_WARN("fail serialize root_op", K(ret), K(buf_len), K(pos));
|
LOG_WARN("fail serialize root_op", K(ret), K(buf_len), K(pos));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -846,7 +849,9 @@ OB_DEF_SERIALIZE_SIZE(ObPxRpcInitTaskArgs)
|
|||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_ERROR("unexpected status: op root is null", K(ret));
|
LOG_ERROR("unexpected status: op root is null", K(ret));
|
||||||
} else {
|
} else {
|
||||||
len += ObPxTreeSerializer::get_tree_serialize_size(*op_root_, task_.is_fulltree());
|
ObPhyOpSeriCtx seri_ctx;
|
||||||
|
seri_ctx.exec_ctx_ = exec_ctx_;
|
||||||
|
len += ObPxTreeSerializer::get_tree_serialize_size(*op_root_, task_.is_fulltree(), &seri_ctx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -58,7 +58,7 @@ OB_DEF_SERIALIZE(ObTask)
|
|||||||
ret = OB_NOT_INIT;
|
ret = OB_NOT_INIT;
|
||||||
LOG_WARN("task not init", K_(op_root), K_(exec_ctx), K_(ser_phy_plan));
|
LOG_WARN("task not init", K_(op_root), K_(exec_ctx), K_(ser_phy_plan));
|
||||||
} else if (ser_phy_plan_->is_dist_insert_or_replace_plan() && location_idx_ != OB_INVALID_INDEX) {
|
} else if (ser_phy_plan_->is_dist_insert_or_replace_plan() && location_idx_ != OB_INVALID_INDEX) {
|
||||||
OZ(exec_ctx_->reset_one_row_id_list(exec_ctx_->get_part_row_manager().get_row_id_list(location_idx_)));
|
IGNORE_RETURN exec_ctx_->reset_one_row_id_list(exec_ctx_->get_part_row_manager().get_row_id_list(location_idx_));
|
||||||
}
|
}
|
||||||
LST_DO_CODE(OB_UNIS_ENCODE, *ser_phy_plan_);
|
LST_DO_CODE(OB_UNIS_ENCODE, *ser_phy_plan_);
|
||||||
LST_DO_CODE(OB_UNIS_ENCODE, *exec_ctx_);
|
LST_DO_CODE(OB_UNIS_ENCODE, *exec_ctx_);
|
||||||
@ -184,7 +184,7 @@ OB_DEF_SERIALIZE_SIZE(ObTask)
|
|||||||
LOG_ERROR("task not init", K_(exec_ctx), K_(ser_phy_plan));
|
LOG_ERROR("task not init", K_(exec_ctx), K_(ser_phy_plan));
|
||||||
} else {
|
} else {
|
||||||
if (ser_phy_plan_->is_dist_insert_or_replace_plan() && location_idx_ != OB_INVALID_INDEX) {
|
if (ser_phy_plan_->is_dist_insert_or_replace_plan() && location_idx_ != OB_INVALID_INDEX) {
|
||||||
exec_ctx_->reset_one_row_id_list(exec_ctx_->get_part_row_manager().get_row_id_list(location_idx_));
|
IGNORE_RETURN exec_ctx_->reset_one_row_id_list(exec_ctx_->get_part_row_manager().get_row_id_list(location_idx_));
|
||||||
}
|
}
|
||||||
LST_DO_CODE(OB_UNIS_ADD_LEN, *ser_phy_plan_);
|
LST_DO_CODE(OB_UNIS_ADD_LEN, *ser_phy_plan_);
|
||||||
LST_DO_CODE(OB_UNIS_ADD_LEN, *exec_ctx_);
|
LST_DO_CODE(OB_UNIS_ADD_LEN, *exec_ctx_);
|
||||||
|
|||||||
Reference in New Issue
Block a user