This is an automated email from the ASF dual-hosted git repository.
mrhhsg pushed a commit to branch spill_repartition
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/spill_repartition by this push:
new 6a99170ad8a Clear revoked data in agg & avoid null pointer in join
6a99170ad8a is described below
commit 6a99170ad8a47a8a336a12b0cc16648967d4baac
Author: Hu Shenggang <[email protected]>
AuthorDate: Sat Feb 28 09:28:19 2026 +0800
Clear revoked data in agg & avoid null pointer in join
---
be/src/pipeline/exec/partitioned_aggregation_sink_operator.cpp | 4 ++++
be/src/pipeline/exec/partitioned_hash_join_sink_operator.cpp | 8 +++++---
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/be/src/pipeline/exec/partitioned_aggregation_sink_operator.cpp
b/be/src/pipeline/exec/partitioned_aggregation_sink_operator.cpp
index d694b75bcc9..ef53713d7d0 100644
--- a/be/src/pipeline/exec/partitioned_aggregation_sink_operator.cpp
+++ b/be/src/pipeline/exec/partitioned_aggregation_sink_operator.cpp
@@ -366,6 +366,10 @@ Status
PartitionedAggSinkLocalState::_spill_hash_table(RuntimeState* state,
state, context,
Base::_shared_state->_spill_partitions[i],
spill_infos[i].keys_, spill_infos[i].values_,
nullptr, false);
RETURN_IF_ERROR(status);
+ spill_infos[i].keys_.clear();
+ spill_infos[i].keys_.shrink_to_fit();
+ spill_infos[i].values_.clear();
+ spill_infos[i].values_.shrink_to_fit();
}
}
}
diff --git a/be/src/pipeline/exec/partitioned_hash_join_sink_operator.cpp
b/be/src/pipeline/exec/partitioned_hash_join_sink_operator.cpp
index 87678027661..a0096c359f2 100644
--- a/be/src/pipeline/exec/partitioned_hash_join_sink_operator.cpp
+++ b/be/src/pipeline/exec/partitioned_hash_join_sink_operator.cpp
@@ -248,10 +248,12 @@ Status
PartitionedHashJoinSinkLocalState::terminate(RuntimeState* state) {
if (auto* tmp_sink_state =
_shared_state->_inner_runtime_state->get_sink_local_state()) {
inner_sink_state =
assert_cast<HashJoinBuildSinkLocalState*>(tmp_sink_state);
}
- if
(_parent->cast<PartitionedHashJoinSinkOperatorX>()._inner_sink_operator) {
-
RETURN_IF_ERROR(inner_sink_state->_runtime_filter_producer_helper->skip_process(state));
+ if (inner_sink_state) {
+ if
(_parent->cast<PartitionedHashJoinSinkOperatorX>()._inner_sink_operator) {
+
RETURN_IF_ERROR(inner_sink_state->_runtime_filter_producer_helper->skip_process(state));
+ }
+ inner_sink_state->_terminated = true;
}
- inner_sink_state->_terminated = true;
return
PipelineXSpillSinkLocalState<PartitionedHashJoinSharedState>::terminate(state);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]