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]

Reply via email to