This is an automated email from the ASF dual-hosted git repository.
jianliangqi 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 a2ae225c772 [Fix](row cache) invalid row cache using key encoded
without sequence column (#26948)
a2ae225c772 is described below
commit a2ae225c77294dafa8b1026536dba46d601c5646
Author: lihangyu <[email protected]>
AuthorDate: Tue Nov 14 16:51:23 2023 +0800
[Fix](row cache) invalid row cache using key encoded without sequence
column (#26948)
---
be/src/olap/rowset/segment_v2/segment_writer.cpp | 2 +-
be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/be/src/olap/rowset/segment_v2/segment_writer.cpp
b/be/src/olap/rowset/segment_v2/segment_writer.cpp
index 476130d5412..329a7fa1e92 100644
--- a/be/src/olap/rowset/segment_v2/segment_writer.cpp
+++ b/be/src/olap/rowset/segment_v2/segment_writer.cpp
@@ -387,6 +387,7 @@ Status
SegmentWriter::append_block_with_partial_content(const vectorized::Block*
size_t delta_pos = block_pos - row_pos;
size_t segment_pos = segment_start_pos + delta_pos;
std::string key = _full_encode_keys(key_columns, delta_pos);
+ _maybe_invalid_row_cache(key);
if (have_input_seq_column) {
_encode_seq_column(seq_column, delta_pos, &key);
}
@@ -396,7 +397,6 @@ Status
SegmentWriter::append_block_with_partial_content(const vectorized::Block*
if (!_tablet_schema->has_sequence_col() || have_input_seq_column) {
RETURN_IF_ERROR(_primary_key_index_builder->add_item(key));
}
- _maybe_invalid_row_cache(key);
// mark key with delete sign as deleted.
bool have_delete_sign =
diff --git a/be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp
b/be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp
index 760ef3d6c9c..23ae7cfd424 100644
--- a/be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp
+++ b/be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp
@@ -366,6 +366,7 @@ Status
VerticalSegmentWriter::_append_block_with_partial_content(RowsInBlock& da
size_t delta_pos = block_pos - data.row_pos;
size_t segment_pos = segment_start_pos + delta_pos;
std::string key = _full_encode_keys(key_columns, delta_pos);
+ _maybe_invalid_row_cache(key);
if (have_input_seq_column) {
_encode_seq_column(seq_column, delta_pos, &key);
}
@@ -375,7 +376,6 @@ Status
VerticalSegmentWriter::_append_block_with_partial_content(RowsInBlock& da
if (!_tablet_schema->has_sequence_col() || have_input_seq_column) {
RETURN_IF_ERROR(_primary_key_index_builder->add_item(key));
}
- _maybe_invalid_row_cache(key);
// mark key with delete sign as deleted.
bool have_delete_sign =
@@ -715,6 +715,7 @@ Status VerticalSegmentWriter::write_batch() {
std::string last_key;
for (size_t pos = 0; pos < data.num_rows; pos++) {
std::string key = _full_encode_keys(key_columns, pos);
+ _maybe_invalid_row_cache(key);
if (_tablet_schema->has_sequence_col()) {
_encode_seq_column(seq_column, pos, &key);
}
@@ -722,7 +723,6 @@ Status VerticalSegmentWriter::write_batch() {
<< "found duplicate key or key is not sorted! current
key: " << key
<< ", last key" << last_key;
RETURN_IF_ERROR(_primary_key_index_builder->add_item(key));
- _maybe_invalid_row_cache(key);
last_key = std::move(key);
}
} else {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]