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

split: add app_partition_split request and unit test #111

Closed
wants to merge 31 commits into from
Closed
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
6397172
add meta_state_service_utils
May 11, 2018
9cb664a
update meta_state_service_utils
May 11, 2018
0ad4801
add app_partition_split_request
May 13, 2018
a3bfa4c
add meta_split_service
May 13, 2018
6fdde59
implement app_partition_split
May 13, 2018
92ce507
update meta_split_service
May 13, 2018
08f6857
Merge branch 'meta' of https://github.com/neverchanje/rdsn into split
May 13, 2018
7296e8a
refactor meta_state_service_utils
May 13, 2018
fe20a74
implement meta_state_service_utils
May 14, 2018
101ffaa
test meta_state_service_utils
May 14, 2018
06b1404
split: implement app_partition_split
May 17, 2018
2e8a2e1
meta: fix concurrent bug in meta storage
May 17, 2018
61a306e
add replica split
May 17, 2018
d27813a
Merge branch 'meta' of https://github.com/neverchanje/rdsn into split
May 18, 2018
0a3f0df
Merge branch 'master' of https://github.com/xiaomi/rdsn into split
May 21, 2018
1b0ce1f
Merge branch 'master' of https://github.com/xiaomi/rdsn into split
May 21, 2018
b398199
update replica split
May 21, 2018
59b47e7
fix replica split
May 22, 2018
1a0bbaf
fix replica split
May 23, 2018
1582e54
add
May 24, 2018
7b0d00e
Merge branch 'master' of https://github.com/xiaomi/rdsn into split
May 30, 2018
7a2c015
Merge branch 'master' of https://github.com/xiaomi/rdsn into split
May 30, 2018
77c28c0
revert
May 30, 2018
190486e
remove split function in replica which will lead to build failed
hycdong Jun 8, 2018
fc3fa51
Merge branch master
hycdong Jun 8, 2018
3faea70
meta: update client send split request and meta server handle split r…
hycdong Jun 13, 2018
f40b92e
test: add unit test for meta app_partition_split
hycdong Jun 13, 2018
41d85a6
Merge branch 'v1.9'
hycdong Jun 21, 2018
54b73cc
add and remove some comments
hycdong Jun 21, 2018
3b06d95
change std::make_unique to dsn::make_unique
hycdong Jun 21, 2018
8a62162
update code format
hycdong Jun 22, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions include/dsn/cpp/serialization_helper/dsn.layer2_types.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions include/dsn/dist/replication/replication.codes.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ MAKE_EVENT_CODE_RPC(RPC_CM_CHANGE_DUPLICATION_STATUS, TASK_PRIORITY_COMMON)
MAKE_EVENT_CODE_RPC(RPC_CM_QUERY_DUPLICATION, TASK_PRIORITY_COMMON)
MAKE_EVENT_CODE_RPC(RPC_CM_DUPLICATION_SYNC, TASK_PRIORITY_COMMON)
MAKE_EVENT_CODE_RPC(RPC_CM_UPDATE_APP_ENV, TASK_PRIORITY_COMMON)
MAKE_EVENT_CODE_RPC(RPC_CM_APP_PARTITION_SPLIT, TASK_PRIORITY_COMMON)
#undef CURRENT_THREAD_POOL

#define CURRENT_THREAD_POOL THREAD_POOL_META_STATE
Expand Down
167 changes: 86 additions & 81 deletions include/dsn/dist/replication/replication.types.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,84 +3,89 @@
#include <dsn/service_api_cpp.h>
#include <dsn/cpp/serialization.h>

namespace dsn {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

codeformat

namespace replication {
GENERATED_TYPE_SERIALIZATION(mutation_header, THRIFT)
GENERATED_TYPE_SERIALIZATION(mutation_update, THRIFT)
GENERATED_TYPE_SERIALIZATION(mutation_data, THRIFT)
GENERATED_TYPE_SERIALIZATION(replica_configuration, THRIFT)
GENERATED_TYPE_SERIALIZATION(prepare_msg, THRIFT)
GENERATED_TYPE_SERIALIZATION(read_request_header, THRIFT)
GENERATED_TYPE_SERIALIZATION(write_request_header, THRIFT)
GENERATED_TYPE_SERIALIZATION(rw_response_header, THRIFT)
GENERATED_TYPE_SERIALIZATION(prepare_ack, THRIFT)
GENERATED_TYPE_SERIALIZATION(learn_state, THRIFT)
GENERATED_TYPE_SERIALIZATION(learn_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(learn_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(learn_notify_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(group_check_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(group_check_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(node_info, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_update_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_update_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(replica_server_info, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_query_by_node_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_query_by_node_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(create_app_options, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_create_app_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(drop_app_options, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_drop_app_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_list_apps_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_list_nodes_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_cluster_info_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_recall_app_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_create_app_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_meta_control_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_meta_control_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_proposal_action, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_balancer_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_balancer_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_drop_app_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_list_apps_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_list_nodes_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_cluster_info_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_recall_app_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(query_replica_decree_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(query_replica_decree_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(replica_info, THRIFT)
GENERATED_TYPE_SERIALIZATION(query_replica_info_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(query_replica_info_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(query_app_info_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(query_app_info_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_recovery_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_recovery_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(policy_info, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_restore_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(backup_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(backup_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_modify_backup_policy_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_modify_backup_policy_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_add_backup_policy_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_add_backup_policy_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(policy_entry, THRIFT)
GENERATED_TYPE_SERIALIZATION(backup_entry, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_query_backup_policy_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_query_backup_policy_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_report_restore_status_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_report_restore_status_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_query_restore_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_query_restore_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_update_app_env_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_update_app_env_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_add_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_add_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_status_change_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_status_change_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_entry, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_query_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_query_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_confirm_entry, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_sync_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_sync_response, THRIFT)
}
}



namespace dsn { namespace replication {
GENERATED_TYPE_SERIALIZATION(mutation_header, THRIFT)
GENERATED_TYPE_SERIALIZATION(mutation_update, THRIFT)
GENERATED_TYPE_SERIALIZATION(mutation_data, THRIFT)
GENERATED_TYPE_SERIALIZATION(replica_configuration, THRIFT)
GENERATED_TYPE_SERIALIZATION(prepare_msg, THRIFT)
GENERATED_TYPE_SERIALIZATION(read_request_header, THRIFT)
GENERATED_TYPE_SERIALIZATION(write_request_header, THRIFT)
GENERATED_TYPE_SERIALIZATION(rw_response_header, THRIFT)
GENERATED_TYPE_SERIALIZATION(prepare_ack, THRIFT)
GENERATED_TYPE_SERIALIZATION(learn_state, THRIFT)
GENERATED_TYPE_SERIALIZATION(learn_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(learn_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(learn_notify_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(group_check_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(group_check_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(node_info, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_update_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_update_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(replica_server_info, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_query_by_node_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_query_by_node_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(create_app_options, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_create_app_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(drop_app_options, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_drop_app_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_list_apps_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_list_nodes_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_cluster_info_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_recall_app_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_create_app_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_meta_control_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_meta_control_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_proposal_action, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_balancer_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_balancer_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_drop_app_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_list_apps_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_list_nodes_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_cluster_info_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_recall_app_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(query_replica_decree_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(query_replica_decree_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(replica_info, THRIFT)
GENERATED_TYPE_SERIALIZATION(query_replica_info_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(query_replica_info_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(query_app_info_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(query_app_info_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_recovery_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_recovery_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(policy_info, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_restore_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(backup_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(backup_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_modify_backup_policy_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_modify_backup_policy_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_add_backup_policy_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_add_backup_policy_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(policy_entry, THRIFT)
GENERATED_TYPE_SERIALIZATION(backup_entry, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_query_backup_policy_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_query_backup_policy_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_report_restore_status_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_report_restore_status_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_query_restore_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_query_restore_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_update_app_env_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(configuration_update_app_env_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_add_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_add_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_status_change_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_status_change_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_entry, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_query_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_query_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_confirm_entry, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_sync_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(duplication_sync_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(app_partition_split_request, THRIFT)
GENERATED_TYPE_SERIALIZATION(app_partition_split_response, THRIFT)
GENERATED_TYPE_SERIALIZATION(report_partition_split_request, THRIFT)

} }
2 changes: 2 additions & 0 deletions include/dsn/dist/replication/replication_ddl_client.h
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,8 @@ class replication_ddl_client
dsn::error_code
clear_app_envs(const std::string &app_name, bool clear_all, const std::string &prefix);

dsn::error_code app_partition_split(const std::string &app_name, int partition_count);

private:
bool static valid_app_char(int c);

Expand Down
Loading