Skip to content
This repository has been archived by the owner on Jun 23, 2022. It is now read-only.

feat: add rate limit for learning and support remote-command #461

Merged
merged 8 commits into from
May 19, 2020

Conversation

foreverneverer
Copy link
Contributor

@foreverneverer foreverneverer commented May 14, 2020

Note:

Please use the feature after 2.1.1 release, some bug when occur before merge #633

In addition, for the Learning request logic may be assigned THREAD_POOL_REPLICATION when after end_get_file_size(the end_get_file_size is assigned into THREAD_POOL_REPLICATION, because for the rpc ack, the thread pool is equal withe current pool, see rpc_request_task), which may block the write operation especially using NFS-RateLimiter set low learning rate. Since the change is little, I fix it in this PR:

Description

When add or delete replica server node, too large copy rate will have great influence on server, this pr add rate limit for copying file when learning, and it supports remote-command to update it at server running state.

New configuration

[nfs]
+ max_copy_rate_megabytes = 500

[replication]
+ fds_write_limit_rate = 100 # update 20 => 100
+ fds_read_limit_rate = 100 # update 20 => 100

src/dist/nfs/nfs_client_impl.cpp Show resolved Hide resolved
src/dist/nfs/nfs_client_impl.cpp Outdated Show resolved Hide resolved
src/dist/nfs/nfs_client_impl.h Outdated Show resolved Hide resolved
src/dist/nfs/nfs_client_impl.cpp Outdated Show resolved Hide resolved
src/dist/nfs/nfs_client_impl.cpp Outdated Show resolved Hide resolved
src/dist/nfs/nfs_client_impl.cpp Outdated Show resolved Hide resolved
src/dist/nfs/nfs_client_impl.cpp Outdated Show resolved Hide resolved
@hycdong hycdong added the type/config-change PR that made modification on configs, which should be noted in release note. label May 19, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
2.0.0 type/config-change PR that made modification on configs, which should be noted in release note.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants