提交 a2c22b06 编写于 作者: Q qianchanger 提交者: wangzelin.wzl

Fix -4016 problem in ob_task serialize

上级 b78e3041
......@@ -726,10 +726,13 @@ OB_DEF_SERIALIZE(ObPxRpcInitTaskArgs)
LOG_WARN("failed to deserialize kit store", K(ret));
}
} else {
ObPhyOpSeriCtx seri_ctx;
seri_ctx.exec_ctx_ = exec_ctx_;
if (OB_ISNULL(op_root_)) {
ret = OB_ERR_UNEXPECTED;
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));
}
}
......@@ -846,7 +849,9 @@ OB_DEF_SERIALIZE_SIZE(ObPxRpcInitTaskArgs)
ret = OB_ERR_UNEXPECTED;
LOG_ERROR("unexpected status: op root is null", K(ret));
} 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;
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) {
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, *exec_ctx_);
......@@ -184,7 +184,7 @@ OB_DEF_SERIALIZE_SIZE(ObTask)
LOG_ERROR("task not init", K_(exec_ctx), K_(ser_phy_plan));
} else {
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, *exec_ctx_);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册