mirror of
https://github.com/apple/foundationdb.git
synced 2025-05-14 01:42:37 +08:00
Add test coverage for throttle
This commit is contained in:
parent
271603029a
commit
e5933dee7e
@ -401,6 +401,32 @@ def exclude(logger):
|
||||
output4 = run_fdbcli_command('exclude')
|
||||
assert no_excluded_process_output in output4
|
||||
|
||||
# read the system key 'k', need to enable the option first
|
||||
def read_system_key(k):
|
||||
output = run_fdbcli_command('option', 'on', 'READ_SYSTEM_KEYS;', 'get', k)
|
||||
if 'is' not in output:
|
||||
# key not present
|
||||
return None
|
||||
_, value = output.split(' is ')
|
||||
return value
|
||||
|
||||
@enable_logging()
|
||||
def throttle(logger):
|
||||
# no throttled tags at the beginning
|
||||
no_throttle_tags_output = 'There are no throttled tags'
|
||||
assert run_fdbcli_command('throttle', 'list') == no_throttle_tags_output
|
||||
# test 'throttle enable auto'
|
||||
run_fdbcli_command('throttle', 'enable', 'auto')
|
||||
# verify the change is applied by reading the system key
|
||||
# not an elegant way, may change later
|
||||
enable_flag = read_system_key('\\xff\\x02/throttledTags/autoThrottlingEnabled')
|
||||
assert enable_flag == "`1'"
|
||||
run_fdbcli_command('throttle', 'disable', 'auto')
|
||||
enable_flag = read_system_key('\\xff\\x02/throttledTags/autoThrottlingEnabled')
|
||||
# verify disabled
|
||||
assert enable_flag == "`0'"
|
||||
# TODO : test manual throttling, not easy to do now
|
||||
|
||||
if __name__ == '__main__':
|
||||
# fdbcli_tests.py <path_to_fdbcli_binary> <path_to_fdb_cluster_file> <process_number>
|
||||
assert len(sys.argv) == 4, "Please pass arguments: <path_to_fdbcli_binary> <path_to_fdb_cluster_file> <process_number>"
|
||||
@ -420,6 +446,7 @@ if __name__ == '__main__':
|
||||
setclass()
|
||||
suspend()
|
||||
transaction()
|
||||
throttle()
|
||||
else:
|
||||
assert process_number > 1, "Process number should be positive"
|
||||
coordinators()
|
||||
|
Loading…
x
Reference in New Issue
Block a user