You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The reason is that env_->GetBackgroundThreads() returns the pool capacity, not the amount of available slots, so the flush pool will never actually be empty (the intention in RocksDB here was to support a case where flushes are supposed to have the same priority as compactions and thus max_background_flushes is set to 0, but our use of needs_flush_speedup needs to know if there are high priority jobs available, regardless of capacity allocation).
Expected behavior
Available capacity is considered for scheduling based on flush urgency.
Actual behavior
Allocated capacity is considered.
Steps to reproduce the behavior
N/A
The text was updated successfully, but these errors were encountered:
needs_flush_speedup
is considered in a branch of the code that's effectively dead code.The reason is that
env_->GetBackgroundThreads()
returns the pool capacity, not the amount of available slots, so the flush pool will never actually be empty (the intention in RocksDB here was to support a case where flushes are supposed to have the same priority as compactions and thusmax_background_flushes
is set to 0, but our use ofneeds_flush_speedup
needs to know if there are high priority jobs available, regardless of capacity allocation).Expected behavior
Available capacity is considered for scheduling based on flush urgency.
Actual behavior
Allocated capacity is considered.
Steps to reproduce the behavior
N/A
The text was updated successfully, but these errors were encountered: