Skip to content

Commit 43d21c6

Browse files
committed
fix
1 parent ca2ccb5 commit 43d21c6

8 files changed

Lines changed: 22 additions & 15 deletions

File tree

be/src/storage/compaction/collection_statistics.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ Status CollectionStatistics::process_segment(const RowsetSharedPtr& rowset, int3
165165
rowset_meta->fs(),
166166
std::string {InvertedIndexDescriptor::get_index_file_path_prefix(seg_path)},
167167
tablet_schema->get_inverted_index_storage_format(),
168-
rowset_meta->inverted_index_file_info(seg_id));
168+
rowset_meta->inverted_index_file_info(seg_id), rowset_meta->tablet_id());
169169
RETURN_IF_ERROR(idx_file_reader->init(config::inverted_index_read_buffer_size, io_ctx));
170170

171171
int32_t total_seg_num_docs = 0;

be/src/storage/compaction/compaction.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -819,7 +819,7 @@ Status Compaction::do_inverted_index_compaction() {
819819
fs,
820820
std::string {InvertedIndexDescriptor::get_index_file_path_prefix(seg_path.value())},
821821
_cur_tablet_schema->get_inverted_index_storage_format(),
822-
rowset->rowset_meta()->inverted_index_file_info(seg_id));
822+
rowset->rowset_meta()->inverted_index_file_info(seg_id), _tablet->tablet_id());
823823
auto st = index_file_reader->init(config::inverted_index_read_buffer_size);
824824
DBUG_EXECUTE_IF("Compaction::do_inverted_index_compaction_init_inverted_index_file_reader",
825825
{
@@ -1020,7 +1020,7 @@ static bool check_rowset_has_inverted_index(const RowsetSharedPtr& src_rs, int32
10201020
std::string {InvertedIndexDescriptor::get_index_file_path_prefix(
10211021
seg_path.value())},
10221022
cur_tablet_schema->get_inverted_index_storage_format(),
1023-
rowset->rowset_meta()->inverted_index_file_info(i));
1023+
rowset->rowset_meta()->inverted_index_file_info(i), _tablet->tablet_id());
10241024
auto st = index_file_reader->init(config::inverted_index_read_buffer_size);
10251025
index_file_path = index_file_reader->get_index_file_path(index_meta);
10261026
DBUG_EXECUTE_IF(

be/src/storage/index/index_file_writer.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,17 @@ namespace doris::segment_v2 {
4141
IndexFileWriter::IndexFileWriter(io::FileSystemSPtr fs, std::string index_path_prefix,
4242
std::string rowset_id, int64_t seg_id,
4343
InvertedIndexStorageFormatPB storage_format,
44-
io::FileWriterPtr file_writer, bool can_use_ram_dir)
44+
io::FileWriterPtr file_writer, bool can_use_ram_dir,
45+
int64_t tablet_id)
4546
: _fs(std::move(fs)),
4647
_index_path_prefix(std::move(index_path_prefix)),
4748
_rowset_id(std::move(rowset_id)),
4849
_seg_id(seg_id),
4950
_storage_format(storage_format),
5051
_local_fs(io::global_local_filesystem()),
5152
_idx_v2_writer(std::move(file_writer)),
52-
_can_use_ram_dir(can_use_ram_dir) {
53+
_can_use_ram_dir(can_use_ram_dir),
54+
_tablet_id(tablet_id) {
5355
auto tmp_file_dir = ExecEnv::GetInstance()->get_tmp_file_dirs()->get_tmp_file_dir();
5456
_tmp_dir = tmp_file_dir.native();
5557
if (_storage_format == InvertedIndexStorageFormatPB::V1) {
@@ -121,8 +123,8 @@ Status IndexFileWriter::delete_index(const TabletIndex* index_meta) {
121123
}
122124

123125
Status IndexFileWriter::add_into_searcher_cache() {
124-
auto index_file_reader =
125-
std::make_unique<IndexFileReader>(_fs, _index_path_prefix, _storage_format);
126+
auto index_file_reader = std::make_unique<IndexFileReader>(
127+
_fs, _index_path_prefix, _storage_format, InvertedIndexFileInfo(), _tablet_id);
126128
auto st = index_file_reader->init();
127129
if (!st.ok()) {
128130
if (dynamic_cast<io::StreamSinkFileWriter*>(_idx_v2_writer.get()) != nullptr) {

be/src/storage/index/index_file_writer.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ class IndexFileWriter {
5050
public:
5151
IndexFileWriter(io::FileSystemSPtr fs, std::string index_path_prefix, std::string rowset_id,
5252
int64_t seg_id, InvertedIndexStorageFormatPB storage_format,
53-
io::FileWriterPtr file_writer = nullptr, bool can_use_ram_dir = true);
53+
io::FileWriterPtr file_writer = nullptr, bool can_use_ram_dir = true,
54+
int64_t tablet_id = -1);
5455
virtual ~IndexFileWriter() = default;
5556

5657
MOCK_FUNCTION Result<std::shared_ptr<DorisFSDirectory>> open(const TabletIndex* index_meta);
@@ -111,6 +112,7 @@ class IndexFileWriter {
111112
bool _can_use_ram_dir = true;
112113

113114
IndexStorageFormatPtr _index_storage_format;
115+
int64_t _tablet_id = -1;
114116

115117
friend class IndexStorageFormatV1;
116118
friend class IndexStorageFormatV2;

be/src/storage/rowset/beta_rowset.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,8 @@ Status BetaRowset::show_nested_index_file(rapidjson::Value* rowset_value,
844844
auto seg_path = DORIS_TRY(segment_path(seg_id));
845845
auto index_file_path_prefix = InvertedIndexDescriptor::get_index_file_path_prefix(seg_path);
846846
auto index_file_reader = std::make_unique<IndexFileReader>(
847-
fs, std::string(index_file_path_prefix), storage_format);
847+
fs, std::string(index_file_path_prefix), storage_format, InvertedIndexFileInfo(),
848+
_rowset_meta->tablet_id());
848849
RETURN_IF_ERROR(index_file_reader->init());
849850
auto dirs = index_file_reader->get_all_directories();
850851

be/src/storage/rowset/beta_rowset_writer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1108,7 +1108,7 @@ Status BetaRowsetWriter::create_segment_writer_for_segcompaction(
11081108
index_file_writer = std::make_unique<IndexFileWriter>(
11091109
_context.fs(), prefix, _context.rowset_id.to_string(), _num_segcompacted,
11101110
_context.tablet_schema->get_inverted_index_storage_format(),
1111-
std::move(idx_file_writer));
1111+
std::move(idx_file_writer), true /* can_use_ram_dir */, _context.tablet_id);
11121112
}
11131113

11141114
segment_v2::SegmentWriterOptions writer_options;

be/src/storage/rowset/rowset_writer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ class RowsetWriter {
114114
*index_file_writer = std::make_unique<IndexFileWriter>(
115115
_context.fs(), segment_prefix, _context.rowset_id.to_string(), segment_id,
116116
_context.tablet_schema->get_inverted_index_storage_format(),
117-
std::move(idx_file_v2_ptr), can_use_ram_dir);
117+
std::move(idx_file_v2_ptr), can_use_ram_dir, _context.tablet_id);
118118
return Status::OK();
119119
}
120120

be/src/storage/task/index_builder.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,8 @@ Status IndexBuilder::update_inverted_index_info() {
279279
auto idx_file_reader = std::make_unique<IndexFileReader>(
280280
context.fs(),
281281
std::string {InvertedIndexDescriptor::get_index_file_path_prefix(seg_path)},
282-
output_rs_tablet_schema->get_inverted_index_storage_format());
282+
output_rs_tablet_schema->get_inverted_index_storage_format(),
283+
InvertedIndexFileInfo(), _tablet->tablet_id());
283284
auto st = idx_file_reader->init();
284285
DBUG_EXECUTE_IF(
285286
"IndexBuilder::update_inverted_index_info_index_file_reader_init_not_ok", {
@@ -372,7 +373,7 @@ Status IndexBuilder::handle_single_rowset(RowsetMetaSharedPtr output_rowset_meta
372373
fs, std::move(index_path_prefix),
373374
output_rowset_meta->rowset_id().to_string(), seg_ptr->id(),
374375
output_rowset_schema->get_inverted_index_storage_format(),
375-
std::move(file_writer));
376+
std::move(file_writer), true /* can_use_ram_dir */, _tablet->tablet_id());
376377
RETURN_IF_ERROR(index_file_writer->initialize(dirs));
377378
// create inverted index writer
378379
for (auto& index_meta : _dropped_inverted_indexes) {
@@ -443,12 +444,13 @@ Status IndexBuilder::handle_single_rowset(RowsetMetaSharedPtr output_rowset_meta
443444
index_file_writer = std::make_unique<IndexFileWriter>(
444445
fs, index_path_prefix, output_rowset_meta->rowset_id().to_string(),
445446
seg_ptr->id(), output_rowset_schema->get_inverted_index_storage_format(),
446-
std::move(file_writer));
447+
std::move(file_writer), true /* can_use_ram_dir */, _tablet->tablet_id());
447448
RETURN_IF_ERROR(index_file_writer->initialize(dirs));
448449
} else {
449450
index_file_writer = std::make_unique<IndexFileWriter>(
450451
fs, index_path_prefix, output_rowset_meta->rowset_id().to_string(),
451-
seg_ptr->id(), output_rowset_schema->get_inverted_index_storage_format());
452+
seg_ptr->id(), output_rowset_schema->get_inverted_index_storage_format(),
453+
nullptr, true /* can_use_ram_dir */, _tablet->tablet_id());
452454
}
453455
// create inverted index writer, or ann index writer
454456
for (auto inverted_index : _alter_inverted_indexes) {

0 commit comments

Comments
 (0)