acelyc111 commented on a change in pull request #5516:
URL: https://github.com/apache/incubator-doris/pull/5516#discussion_r594029833
##########
File path: be/src/olap/compaction.cpp
##########
@@ -29,7 +29,8 @@ namespace doris {
Compaction::Compaction(TabletSharedPtr tablet, const std::string& label,
const std::shared_ptr<MemTracker>& parent_tracker)
: _mem_tracker(MemTracker::CreateTracker(-1, label, parent_tracker)),
- _readers_tracker(MemTracker::CreateTracker(-1,
"Compaction:RowsetReaders:" + std::to_string(tablet->tablet_id()),
_mem_tracker)),
+ _readers_tracker(MemTracker::CreateTracker(-1,
"CompactionReaderTracker:" + std::to_string(tablet->tablet_id()),
_mem_tracker)),
+ _writer_tracker(MemTracker::CreateTracker(-1,
"CompationWriterTracker" + std::to_string(tablet->tablet_id()), _mem_tracker)),
Review comment:
```suggestion
_writer_tracker(MemTracker::CreateTracker(-1,
"CompationWriterTracker:" + std::to_string(tablet->tablet_id()), _mem_tracker)),
```
##########
File path: be/src/olap/schema_change.cpp
##########
@@ -1518,16 +1521,17 @@ OLAPStatus
SchemaChangeHandler::_do_process_alter_tablet_v2(const TAlterTabletRe
break;
}
- _reader_context.reader_type = READER_ALTER_TABLE;
- _reader_context.tablet_schema = &base_tablet->tablet_schema();
- _reader_context.need_ordered_result = true;
- _reader_context.delete_handler = &delete_handler;
- _reader_context.return_columns = &return_columns;
+ RowsetReaderContext reader_context;
+ reader_context.reader_type = READER_ALTER_TABLE;
+ reader_context.tablet_schema = &base_tablet->tablet_schema();
+ reader_context.need_ordered_result = true;
+ reader_context.delete_handler = &delete_handler;
+ reader_context.return_columns = &return_columns;
// for schema change, seek_columns is the same to return_columns
- _reader_context.seek_columns = &return_columns;
+ reader_context.seek_columns = &return_columns;
for (auto& rs_reader : rs_readers) {
- rs_reader->init(&_reader_context);
+ rs_reader->init(&reader_context);
Review comment:
Now `reader_context` is a local variable on stack, rs_reader init by a
pointer to it may cause some problem.
##########
File path: be/src/olap/schema_change.cpp
##########
@@ -1660,16 +1664,18 @@ OLAPStatus
SchemaChangeHandler::schema_version_convert(TabletSharedPtr base_tabl
for (int i = 0; i < num_cols; ++i) {
return_columns[i] = i;
}
- _reader_context.reader_type = READER_ALTER_TABLE;
- _reader_context.tablet_schema = &base_tablet->tablet_schema();
- _reader_context.need_ordered_result = true;
- _reader_context.delete_handler = &delete_handler;
- _reader_context.return_columns = &return_columns;
- _reader_context.seek_columns = &return_columns;
+
+ RowsetReaderContext reader_context;
+ reader_context.reader_type = READER_ALTER_TABLE;
+ reader_context.tablet_schema = &base_tablet->tablet_schema();
+ reader_context.need_ordered_result = true;
+ reader_context.delete_handler = &delete_handler;
+ reader_context.return_columns = &return_columns;
+ reader_context.seek_columns = &return_columns;
RowsetReaderSharedPtr rowset_reader;
RETURN_NOT_OK((*base_rowset)->create_reader(&rowset_reader));
- rowset_reader->init(&_reader_context);
+ rowset_reader->init(&reader_context);
Review comment:
Same
##########
File path: be/src/olap/rowset/segment_v2/segment_writer.cpp
##########
@@ -36,12 +37,15 @@ const char* k_segment_magic = "D0R1";
const uint32_t k_segment_magic_length = 4;
SegmentWriter::SegmentWriter(fs::WritableBlock* wblock, uint32_t segment_id,
- const TabletSchema* tablet_schema, const
SegmentWriterOptions& opts)
- : _segment_id(segment_id), _tablet_schema(tablet_schema), _opts(opts),
_wblock(wblock) {
+ const TabletSchema* tablet_schema, const
SegmentWriterOptions& opts, std::shared_ptr<MemTracker> parent)
+ : _segment_id(segment_id), _tablet_schema(tablet_schema), _opts(opts),
_wblock(wblock), _mem_tracker(MemTracker::CreateTracker(
+ -1, "Segment", parent, false)) {
Review comment:
Class Segment has a MemTracker with the same name "Segment", how to
distinguish them?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]