darion-yaphet opened a new pull request, #3490:
URL: https://github.com/apache/brpc/pull/3490

   ### What problem does this PR solve?
   
     Problem Summary:
   
     TaskControl stored per-tag bvar metrics as raw pointers. In addition, each 
cumulative-time PassiveStatus received a heap-allocated callback argument with 
no explicit  owner. Since PassiveStatus does not own that argument, its 
lifetime was unclear and could leak when TaskControl is destroyed.
   
     ### What is changed and the side effects?
   
     Changed:
   
     - Replace the four per-tag bvar raw-pointer vectors with std::unique_ptr 
containers.
     - Add explicit ownership for each CumulatedWithTagArgs callback argument.
     - Preserve metric names, access patterns, and scheduler behavior.
     - Keep callback arguments alive until their corresponding PassiveStatus is 
destroyed.
   
     Side effects:
   
     - Performance effects: No steady-state impact expected. Ownership changes 
occur only during TaskControl initialization/destruction.
     - Breaking backward compatibility: None; no public API or metric name 
changes.
   
     ———
   
     ### Check List:
   
     - [x] The modified task_control.cpp CMake object target compiles 
successfully.
     - [x] git diff --check passes.
     - [ ] Full bthread test suite was not run because the current build is 
blocked by an unrelated brpc::EPROGREADTIMEOUT compilation error.
     - [ ] No new feature; no additional behavior test required.


-- 
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.

To unsubscribe, e-mail: [email protected]

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