vagetablechicken commented on issue #3871:
URL: 
https://github.com/apache/incubator-doris/issues/3871#issuecomment-645144631


   
   > ```
   > The destructor call chain is as follows:
   > PlanFragmentExecutor
   > |--- RuntimeState
   >      |--- RuntimeProfile
   >      |--- ObjectPool
   >           |--- NodeChannel
   >                |--- RowBatch
   >                     |--- MemTracker->release()
   >                          |--- profile->_consumption->add(-bytes)
   > ```
   > 
   > Note that the RuntimeProfile will be first destructed in RuntimeState, 
which will cause the `_consumption` object that has been destructed to be 
called when destructing the RowBatch in the NodeChannel, which will eventually 
cause BE crash.
   > 
   MemTracker is created by 
https://github.com/apache/incubator-doris/blob/c6f2b5ef0df61902360a3f3fcdfc00a6fff86dfe/be/src/exec/tablet_sink.cpp#L461
   Is the OlapTableSink::_mem_tracker related to RuntimeState::_profile?
   I think the RuntimeState::_instance_mem_tracker is relevant. Because it's 
OlapTableSink::_mem_tracker's parent.
   


----------------------------------------------------------------
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:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to