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
### What problem does this PR solve?
Issue Number: None
Related PR: #62661
Problem Summary: Adaptive random bucket load can rotate writes across multiple tablets on the same BE. When one table generates too many memtables faster than flush can drain them, new write batches should be throttled at table granularity instead of only relying on per-writer or process memory limits. This change tracks pending WRITE_FINISHED/FLUSH memtables by table id in MemTableMemoryLimiter and blocks new DeltaWriter writes when the per-BE table pending count reaches the configured limit.
### Release note
Add BE configs enable_table_memtable_flush_backpressure and table_memtable_flush_pending_count_limit to throttle load writes when one table has too many pending flush memtables on a BE.
### Check List (For Author)
- Test: Manual test
- git diff --check
- build-support/clang-format.sh attempted but failed because llvm@16 is not installed in this environment
- ./build.sh --be attempted but failed during CMake configuration before Doris source compilation because OpenMP_C was not found for OpenBLAS
- Behavior changed: Yes. When enable_table_memtable_flush_backpressure is true, writes to a table block once its pending flush memtable count on a BE reaches table_memtable_flush_pending_count_limit.
- Does this need documentation: No
0 commit comments