diff --git a/src/sql/engine/px/datahub/components/ob_dh_sample.cpp b/src/sql/engine/px/datahub/components/ob_dh_sample.cpp index 67533da5bc..15aeeae373 100644 --- a/src/sql/engine/px/datahub/components/ob_dh_sample.cpp +++ b/src/sql/engine/px/datahub/components/ob_dh_sample.cpp @@ -103,6 +103,9 @@ OB_DEF_DESERIALIZE(ObDynamicSamplePieceMsg) } else if (OB_FAIL(row_stores_.push_back(tmp_store))) { LOG_WARN("push back datum store failed", K(ret), K(i)); } + if (OB_FAIL(ret) && nullptr != tmp_store) { + tmp_store->~ObChunkDatumStore(); + } } } } diff --git a/src/sql/engine/px/exchange/ob_px_dist_transmit_op.cpp b/src/sql/engine/px/exchange/ob_px_dist_transmit_op.cpp index 8e90fd8824..15d7528607 100644 --- a/src/sql/engine/px/exchange/ob_px_dist_transmit_op.cpp +++ b/src/sql/engine/px/exchange/ob_px_dist_transmit_op.cpp @@ -654,6 +654,9 @@ int ObPxDistTransmitSpec::register_to_datahub(ObExecContext &ctx) const get_piece_sample_msg().row_stores_.push_back(sample_store))) { LOG_WARN("fail to push back sample store", K(ret)); } + if (OB_FAIL(ret) && nullptr != sample_store) { + sample_store->~ObChunkDatumStore(); + } } } }