This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 89d728290d6 [Chore](execute) remove some unused code and adjust
check_row_nums #28576
89d728290d6 is described below
commit 89d728290d6a5e437a12ef5555d134a4a1d3befe
Author: Pxl <[email protected]>
AuthorDate: Tue Dec 19 09:55:50 2023 +0800
[Chore](execute) remove some unused code and adjust check_row_nums #28576
---
be/src/olap/rowset/segment_v2/segment_writer.cpp | 2 +-
be/src/olap/schema_change.h | 17 +++++++++--------
be/src/pipeline/exec/set_sink_operator.cpp | 7 +++++--
be/src/pipeline/exec/set_sink_operator.h | 2 --
be/src/pipeline/pipeline_x/dependency.h | 2 --
be/src/vec/common/hash_table/hash_table_set_build.h | 13 +------------
be/src/vec/exec/vset_operation_node.cpp | 19 +++----------------
be/src/vec/exec/vset_operation_node.h | 3 ---
8 files changed, 19 insertions(+), 46 deletions(-)
diff --git a/be/src/olap/rowset/segment_v2/segment_writer.cpp
b/be/src/olap/rowset/segment_v2/segment_writer.cpp
index eece72cf5af..25360b3dda2 100644
--- a/be/src/olap/rowset/segment_v2/segment_writer.cpp
+++ b/be/src/olap/rowset/segment_v2/segment_writer.cpp
@@ -764,7 +764,7 @@ Status SegmentWriter::append_block(const vectorized::Block*
block, size_t row_po
_opts.enable_unique_key_merge_on_write);
bool need_short_key_indexes =
!need_primary_key_indexes ||
- (need_primary_key_indexes &&
_tablet_schema->cluster_key_idxes().size() > 0);
+ (need_primary_key_indexes &&
!_tablet_schema->cluster_key_idxes().empty());
if (need_primary_key_indexes && !need_short_key_indexes) { // mow
table without cluster keys
RETURN_IF_ERROR(_generate_primary_key_index(_key_coders,
key_columns, seq_column,
num_rows, false));
diff --git a/be/src/olap/schema_change.h b/be/src/olap/schema_change.h
index 925b77ba518..87b1de31705 100644
--- a/be/src/olap/schema_change.h
+++ b/be/src/olap/schema_change.h
@@ -101,7 +101,7 @@ private:
class SchemaChange {
public:
- SchemaChange() : _filtered_rows(0), _merged_rows(0) {}
+ SchemaChange() = default;
virtual ~SchemaChange() = default;
virtual Status process(RowsetReaderSharedPtr rowset_reader, RowsetWriter*
rowset_writer,
@@ -118,7 +118,6 @@ public:
RETURN_IF_ERROR(_inner_process(rowset_reader, rowset_writer,
new_tablet, base_tablet_schema,
new_tablet_schema));
- _add_filtered_rows(rowset_reader->filtered_rows());
// Check row num changes
if (!_check_row_nums(rowset_reader, *rowset_writer)) {
@@ -147,21 +146,23 @@ protected:
}
virtual bool _check_row_nums(RowsetReaderSharedPtr reader, const
RowsetWriter& writer) const {
- if (reader->rowset()->num_rows() != writer.num_rows() + _merged_rows +
_filtered_rows) {
+ if (reader->rowset()->num_rows() - reader->filtered_rows() !=
+ writer.num_rows() + writer.num_rows_filtered() + _merged_rows +
_filtered_rows) {
LOG(WARNING) << "fail to check row num! "
<< "source_rows=" << reader->rowset()->num_rows()
- << ", writer rows=" << writer.num_rows()
+ << ", source_filtered_rows=" <<
reader->filtered_rows()
+ << ", written_rows=" << writer.num_rows()
+ << ", writer_filtered_rows=" <<
writer.num_rows_filtered()
<< ", merged_rows=" << merged_rows()
- << ", filtered_rows=" << filtered_rows()
- << ", new_index_rows=" << writer.num_rows();
+ << ", filtered_rows=" << filtered_rows();
return false;
}
return true;
}
private:
- uint64_t _filtered_rows;
- uint64_t _merged_rows;
+ uint64_t _filtered_rows {};
+ uint64_t _merged_rows {};
};
class LinkedSchemaChange : public SchemaChange {
diff --git a/be/src/pipeline/exec/set_sink_operator.cpp
b/be/src/pipeline/exec/set_sink_operator.cpp
index cf8a994b1be..d46c6922322 100644
--- a/be/src/pipeline/exec/set_sink_operator.cpp
+++ b/be/src/pipeline/exec/set_sink_operator.cpp
@@ -59,13 +59,16 @@ Status SetSinkOperatorX<is_intersect>::sink(RuntimeState*
state, vectorized::Blo
SCOPED_TIMER(local_state.exec_time_counter());
COUNTER_UPDATE(local_state.rows_input_counter(),
(int64_t)in_block->rows());
- auto& mem_used = local_state._shared_state->mem_used;
auto& build_block = local_state._shared_state->build_block;
auto& valid_element_in_hash_tbl =
local_state._shared_state->valid_element_in_hash_tbl;
if (in_block->rows() != 0) {
- mem_used += in_block->allocated_bytes();
RETURN_IF_ERROR(local_state._mutable_block.merge(*in_block));
+
+ if (local_state._mutable_block.rows() >
std::numeric_limits<uint32_t>::max()) {
+ return Status::NotSupported("set operator do not support build
table rows over:" +
+
std::to_string(std::numeric_limits<uint32_t>::max()));
+ }
}
if (source_state == SourceState::FINISHED ||
diff --git a/be/src/pipeline/exec/set_sink_operator.h
b/be/src/pipeline/exec/set_sink_operator.h
index e44d59d7c6b..4319ec8f433 100644
--- a/be/src/pipeline/exec/set_sink_operator.h
+++ b/be/src/pipeline/exec/set_sink_operator.h
@@ -86,8 +86,6 @@ public:
Status init(RuntimeState* state, LocalSinkStateInfo& info) override;
- int64_t* mem_used() { return &_shared_state->mem_used; };
-
private:
friend class SetSinkOperatorX<is_intersect>;
template <class HashTableContext, bool is_intersected>
diff --git a/be/src/pipeline/pipeline_x/dependency.h
b/be/src/pipeline/pipeline_x/dependency.h
index c61611d10f3..2e917cd4f5b 100644
--- a/be/src/pipeline/pipeline_x/dependency.h
+++ b/be/src/pipeline/pipeline_x/dependency.h
@@ -489,8 +489,6 @@ struct SetSharedState : public BasicSharedState {
public:
SetSharedState(int num_deps) {
probe_finished_children_dependency.resize(num_deps, nullptr); }
/// default init
- //record memory during running
- int64_t mem_used = 0;
vectorized::Block build_block; // build to source
//record element size in hashtable
int64_t valid_element_in_hash_tbl = 0;
diff --git a/be/src/vec/common/hash_table/hash_table_set_build.h
b/be/src/vec/common/hash_table/hash_table_set_build.h
index 152b20eeef9..04cc764525e 100644
--- a/be/src/vec/common/hash_table/hash_table_set_build.h
+++ b/be/src/vec/common/hash_table/hash_table_set_build.h
@@ -25,21 +25,11 @@ template <class HashTableContext, bool is_intersect>
struct HashTableBuild {
template <typename Parent>
HashTableBuild(Parent* parent, int rows, ColumnRawPtrs& build_raw_ptrs,
RuntimeState* state)
- : _mem_used(parent->mem_used()),
- _rows(rows),
- _build_raw_ptrs(build_raw_ptrs),
- _state(state) {}
+ : _rows(rows), _build_raw_ptrs(build_raw_ptrs), _state(state) {}
Status operator()(HashTableContext& hash_table_ctx, Arena& arena) {
using KeyGetter = typename HashTableContext::State;
using Mapped = typename HashTableContext::Mapped;
- int64_t old_bucket_bytes =
hash_table_ctx.hash_table->get_buffer_size_in_bytes();
-
- Defer defer {[&]() {
- int64_t bucket_bytes =
hash_table_ctx.hash_table->get_buffer_size_in_bytes();
- *_mem_used += bucket_bytes - old_bucket_bytes;
- }};
-
KeyGetter key_getter(_build_raw_ptrs);
hash_table_ctx.init_serialized_keys(_build_raw_ptrs, _rows);
@@ -60,7 +50,6 @@ struct HashTableBuild {
}
private:
- int64_t* _mem_used = nullptr;
const int _rows;
ColumnRawPtrs& _build_raw_ptrs;
RuntimeState* _state = nullptr;
diff --git a/be/src/vec/exec/vset_operation_node.cpp
b/be/src/vec/exec/vset_operation_node.cpp
index 28dfd23ec7d..3e41a067b66 100644
--- a/be/src/vec/exec/vset_operation_node.cpp
+++ b/be/src/vec/exec/vset_operation_node.cpp
@@ -55,10 +55,7 @@ namespace vectorized {
template <bool is_intersect>
VSetOperationNode<is_intersect>::VSetOperationNode(ObjectPool* pool, const
TPlanNode& tnode,
const DescriptorTbl& descs)
- : ExecNode(pool, tnode, descs),
- _valid_element_in_hash_tbl(0),
- _mem_used(0),
- _build_finished(false) {
+ : ExecNode(pool, tnode, descs), _valid_element_in_hash_tbl(0),
_build_finished(false) {
_hash_table_variants = std::make_unique<HashTableVariants>();
}
@@ -229,20 +226,10 @@ Status
VSetOperationNode<is_intersect>::sink(RuntimeState* state, Block* block,
SCOPED_TIMER(_exec_timer);
if (block->rows() != 0) {
- _mem_used += block->allocated_bytes();
- RETURN_IF_ERROR(_mutable_block.merge(*block));
- }
-
- if (block->rows() != 0) {
- if (_build_block.empty()) {
-
RETURN_IF_ERROR(_mutable_block.merge(*(block->create_same_struct_block(0,
false))));
- }
RETURN_IF_ERROR(_mutable_block.merge(*block));
if (_mutable_block.rows() > std::numeric_limits<uint32_t>::max()) {
- return Status::NotSupported(
- "Hash join do not support build table rows"
- " over:" +
- std::to_string(std::numeric_limits<uint32_t>::max()));
+ return Status::NotSupported("set operator do not support build
table rows over:" +
+
std::to_string(std::numeric_limits<uint32_t>::max()));
}
}
diff --git a/be/src/vec/exec/vset_operation_node.h
b/be/src/vec/exec/vset_operation_node.h
index 070ad381f4d..3741fc564ca 100644
--- a/be/src/vec/exec/vset_operation_node.h
+++ b/be/src/vec/exec/vset_operation_node.h
@@ -74,7 +74,6 @@ public:
bool is_child_finished(int child_id) const;
int64_t* valid_element_in_hash_tbl() { return &_valid_element_in_hash_tbl;
}
- int64_t* mem_used() { return &_mem_used; };
private:
void _finalize_probe(int child_id);
@@ -110,8 +109,6 @@ private:
//first:column_id, could point to origin column or cast column
//second:idx mapped to column types
std::unordered_map<int, int> _build_col_idx;
- //record memory during running
- int64_t _mem_used;
//record insert column id during probe
std::vector<uint16_t> _probe_column_inserted_id;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]