Fix -4016 problem in ob_task serialize
This commit is contained in:
		 qianchanger
					qianchanger
				
			
				
					committed by
					
						 wangzelin.wzl
						wangzelin.wzl
					
				
			
			
				
	
			
			
			 wangzelin.wzl
						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