mirror of https://github.com/milvus-io/milvus.git
issue: #47178 This commit introduces a rate limiting mechanism for Write-Ahead Logging (WAL) operations to prevent overload during high traffic. Key changes include: - Added `RateLimitObserver` to monitor and control the rate of DML operations. - Add Adaptive RateLimitController to apply the strategy of rate limit. - WAL will slow down if the recovery-storage works on catchup mode or node memory is high. - Updated `WAL` and related components to handle rate limit states, including rejection and slowdown. - Introduced new error codes for rate limit rejection in the streaming error handling. - Enhanced tests to cover the new rate limiting functionality. These changes aim to improve the stability and performance of the streaming service under load. --------- Signed-off-by: chyezh <chyezh@outlook.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| adaptor | ||
| ce | ||
| codegen | ||
| messageutil | ||
| broadcast.go | ||
| broadcast_test.go | ||
| builder.go | ||
| builder_test.go | ||
| cipher.go | ||
| cipher_test.go | ||
| cluster_broadcast.go | ||
| cluster_broadcast_test.go | ||
| encoder.go | ||
| encoder_test.go | ||
| marshal_log_object.go | ||
| message.go | ||
| message_builder_test.go | ||
| message_handler.go | ||
| message_id.go | ||
| message_id_test.go | ||
| message_impl.go | ||
| message_test.go | ||
| message_type.go | ||
| properties.go | ||
| reflect_info.go | ||
| resource_key.go | ||
| resource_key_test.go | ||
| specialized_message.go | ||
| specialized_message_test.go | ||
| test_case.go | ||
| txn.go | ||
| txn_test.go | ||
| utils.go | ||
| version.go | ||
| wal_name.go | ||