Skip to content

Commit

Permalink
feat: add new codes in env to support READ_SIZE_THROTTLING (#948)
Browse files Browse the repository at this point in the history
  • Loading branch information
Smityz authored Nov 1, 2021
1 parent 1f56bd5 commit baa8a46
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 0 deletions.
1 change: 1 addition & 0 deletions include/dsn/dist/replication/replica_envs.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ class replica_envs
static const std::string BUSINESS_INFO;
static const std::string REPLICA_ACCESS_CONTROLLER_ALLOWED_USERS;
static const std::string READ_QPS_THROTTLING;
static const std::string READ_SIZE_THROTTLING;
static const std::string BACKUP_REQUEST_QPS_THROTTLING;
static const std::string SPLIT_VALIDATE_PARTITION_HASH;
static const std::string USER_SPECIFIED_COMPACTION;
Expand Down
1 change: 1 addition & 0 deletions src/common/replication_common.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -656,6 +656,7 @@ const std::string replica_envs::BUSINESS_INFO("business.info");
const std::string replica_envs::REPLICA_ACCESS_CONTROLLER_ALLOWED_USERS(
"replica_access_controller.allowed_users");
const std::string replica_envs::READ_QPS_THROTTLING("replica.read_throttling");
const std::string replica_envs::READ_SIZE_THROTTLING("replica.read_throttling_by_size");
const std::string
replica_envs::SPLIT_VALIDATE_PARTITION_HASH("replica.split.validate_partition_hash");
const std::string replica_envs::USER_SPECIFIED_COMPACTION("user_specified_compaction");
Expand Down
5 changes: 5 additions & 0 deletions src/meta/app_env_validator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include <dsn/utility/string_conv.h>
#include <dsn/dist/fmt_logging.h>
#include <dsn/dist/replication/replica_envs.h>
#include <dsn/utils/token_bucket_throttling_controller.h>
#include "app_env_validator.h"

namespace dsn {
Expand Down Expand Up @@ -185,6 +186,10 @@ void app_env_validator::register_all_validators()
{replica_envs::REPLICA_ACCESS_CONTROLLER_ALLOWED_USERS, nullptr},
{replica_envs::READ_QPS_THROTTLING,
std::bind(&check_throttling, std::placeholders::_1, std::placeholders::_2)},
{replica_envs::READ_SIZE_THROTTLING,
std::bind(&utils::token_bucket_throttling_controller::validate,
std::placeholders::_1,
std::placeholders::_2)},
{replica_envs::SPLIT_VALIDATE_PARTITION_HASH,
std::bind(&check_split_validation, std::placeholders::_1, std::placeholders::_2)},
{replica_envs::USER_SPECIFIED_COMPACTION, nullptr},
Expand Down

0 comments on commit baa8a46

Please sign in to comment.