[BugFix] fix asan error from PartitionedSpillerWriter::_remove_partition (#63903)
Signed-off-by: silverbullet233 <3675229+silverbullet233@users.noreply.github.com>
This commit is contained in:
parent
35aa2cc5ac
commit
21207415d4
|
|
@ -332,6 +332,12 @@ void PartitionedSpillerWriter::_remove_partition(const SpilledPartition* partiti
|
|||
auto iter = std::find_if(partitions.begin(), partitions.end(),
|
||||
[partition](auto& val) { return val->partition_id == partition->partition_id; });
|
||||
_total_partition_num -= (iter != partitions.end());
|
||||
if (partition->block_group != nullptr) {
|
||||
auto affinity_group = partition->block_group->get_affinity_group();
|
||||
DCHECK(affinity_group != kDefaultBlockAffinityGroup);
|
||||
WARN_IF_ERROR(_spiller->block_manager()->release_affinity_group(affinity_group),
|
||||
fmt::format("release affinity group {} error", affinity_group));
|
||||
}
|
||||
partitions.erase(iter);
|
||||
if (partitions.empty()) {
|
||||
_level_to_partitions.erase(level);
|
||||
|
|
@ -339,12 +345,6 @@ void PartitionedSpillerWriter::_remove_partition(const SpilledPartition* partiti
|
|||
_min_level = level + 1;
|
||||
}
|
||||
}
|
||||
if (partition->block_group != nullptr) {
|
||||
auto affinity_group = partition->block_group->get_affinity_group();
|
||||
DCHECK(affinity_group != kDefaultBlockAffinityGroup);
|
||||
WARN_IF_ERROR(_spiller->block_manager()->release_affinity_group(affinity_group),
|
||||
fmt::format("release affinity group {} error", affinity_group));
|
||||
}
|
||||
}
|
||||
|
||||
Status PartitionedSpillerWriter::_choose_partitions_to_flush(bool is_final_flush,
|
||||
|
|
|
|||
Loading…
Reference in New Issue