github-actions[bot] commented on code in PR #68385:
URL: https://github.com/apache/doris/pull/68385#discussion_r4085232474


##########
be/src/cloud/cloud_txn_delete_bitmap_cache.cpp:
##########
@@ -187,6 +189,14 @@ Status CloudTxnDeleteBitmapCache::get_delete_bitmap(
     return Status::OK();
 }
 
+std::shared_ptr<WorkloadGroup> CloudTxnDeleteBitmapCache::get_workload_group(
+        TTransactionId transaction_id, int64_t tablet_id) {
+    std::shared_lock rlock(_rwlock);
+    auto it = _txn_map.find(TxnKey(transaction_id, tablet_id));
+    // Empty/skipped rowsets and a retried request on another BE have no local 
owner.

Review Comment:
   [P2] Preserve the workload group for local empty-rowset markers. With the 
default-enabled `skip_writing_empty_rowset_metadata`, `set_txn_related_info()` 
calls `mark_empty_rowset()` while the load context is attached, but the marker 
stores only the `TxnKey`; this lookup therefore returns null and the publish 
parent is submitted to the default flush pool. That parent is not a no-op: it 
acquires the rowset-update lock and may run `sync_rowsets()` and version checks 
before consulting `is_empty_rowset()`, so empty loads can bypass their workload 
group's resource domain. Please retain the captured group with the marker 
(including cleanup) and cover the normal/all-empty-subtransaction publish 
routing.



##########
be/src/load/memtable/memtable_flush_executor.cpp:
##########
@@ -506,26 +500,21 @@ void 
MemTableFlushExecutor::update_memtable_flush_threads() {
     // Update max_threads first to avoid constraint violation when increasing 
min_threads

Review Comment:
   [P2] Stop the retired high-priority setting from resetting the shared pools. 
`config::update_config()` still dispatches 
`high_priority_flush_thread_num_per_store` here and to every workload-group 
updater. With adaptive flushing enabled by default, those calls restore each 
pool's actual max to the adaptive ceiling, but 
`AdaptiveThreadPoolController::PoolGroup::current_threads` remains at the 
previously throttled value; a no-signal tick then returns early because its 
target equals that stale value, leaving the pools unthrottled. Remove this 
retired key from the resize trigger (or explicitly resynchronize controller 
state), and exercise the real config callback after an adaptive reduction.



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