This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new 8cf1fdfb9b6 branch-3.0 [enhance](meta-service)add bytes for kv stats
(#52729) (#53351)
8cf1fdfb9b6 is described below
commit 8cf1fdfb9b667997f88448efa35356766b35ad6a
Author: koarz <[email protected]>
AuthorDate: Thu Jul 17 12:26:54 2025 +0800
branch-3.0 [enhance](meta-service)add bytes for kv stats (#52729) (#53351)
pick https://github.com/apache/doris/pull/52729
---
cloud/src/common/bvars.cpp | 166 +++++++
cloud/src/common/bvars.h | 108 +++++
cloud/src/common/stats.h | 4 +
cloud/src/meta-service/meta_service.cpp | 17 +
cloud/src/meta-service/meta_service_helper.h | 7 +-
cloud/src/meta-service/meta_service_partition.cpp | 2 +
cloud/src/meta-service/meta_service_resource.cpp | 7 +-
cloud/src/meta-service/meta_service_txn.cpp | 26 +-
cloud/src/meta-store/mem_txn_kv.cpp | 20 +-
cloud/src/meta-store/mem_txn_kv.h | 13 +
cloud/src/meta-store/txn_kv.cpp | 5 +-
cloud/src/meta-store/txn_kv.h | 24 +
cloud/test/rpc_kv_bvar_test.cpp | 538 +++++++++++++---------
13 files changed, 707 insertions(+), 230 deletions(-)
diff --git a/cloud/src/common/bvars.cpp b/cloud/src/common/bvars.cpp
index 7e4e36ce140..1ff6646c195 100644
--- a/cloud/src/common/bvars.cpp
+++ b/cloud/src/common/bvars.cpp
@@ -382,6 +382,172 @@ mBvarInt64Adder
g_bvar_rpc_kv_clean_txn_label_put_counter("rpc_kv_clean_txn_labe
mBvarInt64Adder
g_bvar_rpc_kv_clean_txn_label_del_counter("rpc_kv_clean_txn_label_del_counter",{"instance_id"});
// get_txn_id
mBvarInt64Adder
g_bvar_rpc_kv_get_txn_id_get_counter("rpc_kv_get_txn_id_get_counter",{"instance_id"});
+// bytes
+// get_rowset
+mBvarInt64Adder
g_bvar_rpc_kv_get_rowset_get_bytes("rpc_kv_get_rowset_get_bytes",{"instance_id"});
+// get_version
+mBvarInt64Adder
g_bvar_rpc_kv_get_version_get_bytes("rpc_kv_get_version_get_bytes",{"instance_id"});
+// get_schema_dict
+mBvarInt64Adder
g_bvar_rpc_kv_get_schema_dict_get_bytes("rpc_kv_get_schema_dict_get_bytes",{"instance_id"});
+// create_tablets
+mBvarInt64Adder
g_bvar_rpc_kv_create_tablets_get_bytes("rpc_kv_create_tablets_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_create_tablets_put_bytes("rpc_kv_create_tablets_put_bytes",{"instance_id"});
+// update_tablet
+mBvarInt64Adder
g_bvar_rpc_kv_update_tablet_get_bytes("rpc_kv_update_tablet_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_update_tablet_put_bytes("rpc_kv_update_tablet_put_bytes",{"instance_id"});
+// update_tablet_schema
+mBvarInt64Adder
g_bvar_rpc_kv_update_tablet_schema_get_bytes("rpc_kv_update_tablet_schema_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_update_tablet_schema_put_bytes("rpc_kv_update_tablet_schema_put_bytes",{"instance_id"});
+// get_tablet
+mBvarInt64Adder
g_bvar_rpc_kv_get_tablet_get_bytes("rpc_kv_get_tablet_get_bytes",{"instance_id"});
+// prepare_rowset
+mBvarInt64Adder
g_bvar_rpc_kv_prepare_rowset_get_bytes("rpc_kv_prepare_rowset_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_prepare_rowset_put_bytes("rpc_kv_prepare_rowset_put_bytes",{"instance_id"});
+// commit_rowset
+mBvarInt64Adder
g_bvar_rpc_kv_commit_rowset_get_bytes("rpc_kv_commit_rowset_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_commit_rowset_put_bytes("rpc_kv_commit_rowset_put_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_commit_rowset_del_bytes("rpc_kv_commit_rowset_del_bytes",{"instance_id"});
+// update_tmp_rowset
+mBvarInt64Adder
g_bvar_rpc_kv_update_tmp_rowset_get_bytes("rpc_kv_update_tmp_rowset_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_update_tmp_rowset_put_bytes("rpc_kv_update_tmp_rowset_put_bytes",{"instance_id"});
+// get_tablet_stats
+mBvarInt64Adder
g_bvar_rpc_kv_get_tablet_stats_get_bytes("rpc_kv_get_tablet_stats_get_bytes",{"instance_id"});
+// update_delete_bitmap
+mBvarInt64Adder
g_bvar_rpc_kv_update_delete_bitmap_get_bytes("rpc_kv_update_delete_bitmap_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_update_delete_bitmap_put_bytes("rpc_kv_update_delete_bitmap_put_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_update_delete_bitmap_del_bytes("rpc_kv_update_delete_bitmap_del_bytes",{"instance_id"});
+// get_delete_bitmap
+mBvarInt64Adder
g_bvar_rpc_kv_get_delete_bitmap_get_bytes("rpc_kv_get_delete_bitmap_get_bytes",{"instance_id"});
+// get_delete_bitmap_update_lock
+mBvarInt64Adder
g_bvar_rpc_kv_get_delete_bitmap_update_lock_get_bytes("rpc_kv_get_delete_bitmap_update_lock_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_get_delete_bitmap_update_lock_put_bytes("rpc_kv_get_delete_bitmap_update_lock_put_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_get_delete_bitmap_update_lock_del_bytes("rpc_kv_get_delete_bitmap_update_lock_del_bytes",{"instance_id"});
+// remove_delete_bitmap_update_lock
+mBvarInt64Adder
g_bvar_rpc_kv_remove_delete_bitmap_update_lock_get_bytes("rpc_kv_remove_delete_bitmap_update_lock_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_remove_delete_bitmap_update_lock_put_bytes("rpc_kv_remove_delete_bitmap_update_lock_put_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_remove_delete_bitmap_update_lock_del_bytes("rpc_kv_remove_delete_bitmap_update_lock_del_bytes",{"instance_id"});
+// remove_delete_bitmap
+mBvarInt64Adder
g_bvar_rpc_kv_remove_delete_bitmap_del_bytes("rpc_kv_remove_delete_bitmap_del_bytes",{"instance_id"});
+// start_tablet_job
+mBvarInt64Adder
g_bvar_rpc_kv_start_tablet_job_get_bytes("rpc_kv_start_tablet_job_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_start_tablet_job_put_bytes("rpc_kv_start_tablet_job_put_bytes",{"instance_id"});
+// finish_tablet_job
+mBvarInt64Adder
g_bvar_rpc_kv_finish_tablet_job_get_bytes("rpc_kv_finish_tablet_job_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_finish_tablet_job_put_bytes("rpc_kv_finish_tablet_job_put_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_finish_tablet_job_del_bytes("rpc_kv_finish_tablet_job_del_bytes",{"instance_id"});
+// prepare_index
+mBvarInt64Adder
g_bvar_rpc_kv_prepare_index_get_bytes("rpc_kv_prepare_index_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_prepare_index_put_bytes("rpc_kv_prepare_index_put_bytes",{"instance_id"});
+// commit_index
+mBvarInt64Adder
g_bvar_rpc_kv_commit_index_get_bytes("rpc_kv_commit_index_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_commit_index_put_bytes("rpc_kv_commit_index_put_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_commit_index_del_bytes("rpc_kv_commit_index_del_bytes",{"instance_id"});
+// drop_index
+mBvarInt64Adder
g_bvar_rpc_kv_drop_index_get_bytes("rpc_kv_drop_index_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_drop_index_put_bytes("rpc_kv_drop_index_put_bytes",{"instance_id"});
+// prepare_partition
+mBvarInt64Adder
g_bvar_rpc_kv_prepare_partition_get_bytes("rpc_kv_prepare_partition_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_prepare_partition_put_bytes("rpc_kv_prepare_partition_put_bytes",{"instance_id"});
+// commit_partition
+mBvarInt64Adder
g_bvar_rpc_kv_commit_partition_get_bytes("rpc_kv_commit_partition_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_commit_partition_put_bytes("rpc_kv_commit_partition_put_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_commit_partition_del_bytes("rpc_kv_commit_partition_del_bytes",{"instance_id"});
+// drop_partition
+mBvarInt64Adder
g_bvar_rpc_kv_drop_partition_get_bytes("rpc_kv_drop_partition_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_drop_partition_put_bytes("rpc_kv_drop_partition_put_bytes",{"instance_id"});
+// check_kv
+mBvarInt64Adder
g_bvar_rpc_kv_check_kv_get_bytes("rpc_kv_check_kv_get_bytes",{"instance_id"});
+// get_obj_store_info
+mBvarInt64Adder
g_bvar_rpc_kv_get_obj_store_info_get_bytes("rpc_kv_get_obj_store_info_get_bytes",{"instance_id"});
+// alter_storage_vault
+mBvarInt64Adder
g_bvar_rpc_kv_alter_storage_vault_get_bytes("rpc_kv_alter_storage_vault_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_alter_storage_vault_put_bytes("rpc_kv_alter_storage_vault_put_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_alter_storage_vault_del_bytes("rpc_kv_alter_storage_vault_del_bytes",{"instance_id"});
+// alter_obj_store_info
+mBvarInt64Adder
g_bvar_rpc_kv_alter_obj_store_info_get_bytes("rpc_kv_alter_obj_store_info_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_alter_obj_store_info_put_bytes("rpc_kv_alter_obj_store_info_put_bytes",{"instance_id"});
+// update_ak_sk
+mBvarInt64Adder
g_bvar_rpc_kv_update_ak_sk_get_bytes("rpc_kv_update_ak_sk_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_update_ak_sk_put_bytes("rpc_kv_update_ak_sk_put_bytes",{"instance_id"});
+// create_instance
+mBvarInt64Adder
g_bvar_rpc_kv_create_instance_get_bytes("rpc_kv_create_instance_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_create_instance_put_bytes("rpc_kv_create_instance_put_bytes",{"instance_id"});
+// get_instance
+mBvarInt64Adder
g_bvar_rpc_kv_get_instance_get_bytes("rpc_kv_get_instance_get_bytes",{"instance_id"});
+// alter_cluster
+mBvarInt64Adder
g_bvar_rpc_kv_alter_cluster_get_bytes("rpc_kv_alter_cluster_get_bytes",{"instance_id"});
+// get_cluster
+mBvarInt64Adder
g_bvar_rpc_kv_get_cluster_get_bytes("rpc_kv_get_cluster_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_get_cluster_put_bytes("rpc_kv_get_cluster_put_bytes",{"instance_id"});
+// create_stage
+mBvarInt64Adder
g_bvar_rpc_kv_create_stage_get_bytes("rpc_kv_create_stage_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_create_stage_put_bytes("rpc_kv_create_stage_put_bytes",{"instance_id"});
+// get_stage
+mBvarInt64Adder
g_bvar_rpc_kv_get_stage_get_bytes("rpc_kv_get_stage_get_bytes",{"instance_id"});
+// get_iam
+mBvarInt64Adder
g_bvar_rpc_kv_get_iam_get_bytes("rpc_kv_get_iam_get_bytes",{"instance_id"});
+// alter_iam
+mBvarInt64Adder
g_bvar_rpc_kv_alter_iam_get_bytes("rpc_kv_alter_iam_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_alter_iam_put_bytes("rpc_kv_alter_iam_put_bytes",{"instance_id"});
+// alter_ram_user
+mBvarInt64Adder
g_bvar_rpc_kv_alter_ram_user_get_bytes("rpc_kv_alter_ram_user_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_alter_ram_user_put_bytes("rpc_kv_alter_ram_user_put_bytes",{"instance_id"});
+// begin_copy
+mBvarInt64Adder
g_bvar_rpc_kv_begin_copy_get_bytes("rpc_kv_begin_copy_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_begin_copy_put_bytes("rpc_kv_begin_copy_put_bytes",{"instance_id"});
+// finish_copy
+mBvarInt64Adder
g_bvar_rpc_kv_finish_copy_get_bytes("rpc_kv_finish_copy_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_finish_copy_put_bytes("rpc_kv_finish_copy_put_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_finish_copy_del_bytes("rpc_kv_finish_copy_del_bytes",{"instance_id"});
+// get_copy_job
+mBvarInt64Adder
g_bvar_rpc_kv_get_copy_job_get_bytes("rpc_kv_get_copy_job_get_bytes",{"instance_id"});
+// get_copy_files
+mBvarInt64Adder
g_bvar_rpc_kv_get_copy_files_get_bytes("rpc_kv_get_copy_files_get_bytes",{"instance_id"});
+// filter_copy_files
+mBvarInt64Adder
g_bvar_rpc_kv_filter_copy_files_get_bytes("rpc_kv_filter_copy_files_get_bytes",{"instance_id"});
+// get_cluster_status
+mBvarInt64Adder
g_bvar_rpc_kv_get_cluster_status_get_bytes("rpc_kv_get_cluster_status_get_bytes",{"instance_id"});
+// begin_txn
+mBvarInt64Adder
g_bvar_rpc_kv_begin_txn_get_bytes("rpc_kv_begin_txn_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_begin_txn_put_bytes("rpc_kv_begin_txn_put_bytes",{"instance_id"});
+// precommit_txn
+mBvarInt64Adder
g_bvar_rpc_kv_precommit_txn_get_bytes("rpc_kv_precommit_txn_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_precommit_txn_put_bytes("rpc_kv_precommit_txn_put_bytes",{"instance_id"});
+// get_rl_task_commit_attach
+mBvarInt64Adder
g_bvar_rpc_kv_get_rl_task_commit_attach_get_bytes("rpc_kv_get_rl_task_commit_attach_get_bytes",{"instance_id"});
+// reset_rl_progress
+mBvarInt64Adder
g_bvar_rpc_kv_reset_rl_progress_get_bytes("rpc_kv_reset_rl_progress_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_reset_rl_progress_put_bytes("rpc_kv_reset_rl_progress_put_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_reset_rl_progress_del_bytes("rpc_kv_reset_rl_progress_del_bytes",{"instance_id"});
+// commit_txn
+mBvarInt64Adder
g_bvar_rpc_kv_commit_txn_get_bytes("rpc_kv_commit_txn_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_commit_txn_put_bytes("rpc_kv_commit_txn_put_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_commit_txn_del_bytes("rpc_kv_commit_txn_del_bytes",{"instance_id"});
+// abort_txn
+mBvarInt64Adder
g_bvar_rpc_kv_abort_txn_get_bytes("rpc_kv_abort_txn_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_abort_txn_put_bytes("rpc_kv_abort_txn_put_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_abort_txn_del_bytes("rpc_kv_abort_txn_del_bytes",{"instance_id"});
+// get_txn
+mBvarInt64Adder
g_bvar_rpc_kv_get_txn_get_bytes("rpc_kv_get_txn_get_bytes",{"instance_id"});
+// get_current_max_txn_id
+mBvarInt64Adder
g_bvar_rpc_kv_get_current_max_txn_id_get_bytes("rpc_kv_get_current_max_txn_id_get_bytes",{"instance_id"});
+// begin_sub_txn
+mBvarInt64Adder
g_bvar_rpc_kv_begin_sub_txn_get_bytes("rpc_kv_begin_sub_txn_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_begin_sub_txn_put_bytes("rpc_kv_begin_sub_txn_put_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_begin_sub_txn_del_bytes("rpc_kv_begin_sub_txn_del_bytes",{"instance_id"});
+// abort_sub_txn
+mBvarInt64Adder
g_bvar_rpc_kv_abort_sub_txn_get_bytes("rpc_kv_abort_sub_txn_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_abort_sub_txn_put_bytes("rpc_kv_abort_sub_txn_put_bytes",{"instance_id"});
+// abort_txn_with_coordinator
+mBvarInt64Adder
g_bvar_rpc_kv_abort_txn_with_coordinator_get_bytes("rpc_kv_abort_txn_with_coordinator_get_bytes",{"instance_id"});
+// check_txn_conflict
+mBvarInt64Adder
g_bvar_rpc_kv_check_txn_conflict_get_bytes("rpc_kv_check_txn_conflict_get_bytes",{"instance_id"});
+// clean_txn_label
+mBvarInt64Adder
g_bvar_rpc_kv_clean_txn_label_get_bytes("rpc_kv_clean_txn_label_get_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_clean_txn_label_put_bytes("rpc_kv_clean_txn_label_put_bytes",{"instance_id"});
+mBvarInt64Adder
g_bvar_rpc_kv_clean_txn_label_del_bytes("rpc_kv_clean_txn_label_del_bytes",{"instance_id"});
+// get_txn_id
+mBvarInt64Adder
g_bvar_rpc_kv_get_txn_id_get_bytes("rpc_kv_get_txn_id_get_bytes",{"instance_id"});
// meta ranges
mBvarStatus<int64_t> g_bvar_fdb_kv_ranges_count("fdb_kv_ranges_count",
{"category","instance_id", "sub_category"});
diff --git a/cloud/src/common/bvars.h b/cloud/src/common/bvars.h
index d57e14e2697..08461dad668 100644
--- a/cloud/src/common/bvars.h
+++ b/cloud/src/common/bvars.h
@@ -469,5 +469,113 @@ extern mBvarInt64Adder
g_bvar_rpc_kv_clean_txn_label_put_counter;
extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_del_counter;
extern mBvarInt64Adder g_bvar_rpc_kv_get_txn_id_get_counter;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_rowset_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_version_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_schema_dict_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_create_tablets_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_create_tablets_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_schema_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_update_tablet_schema_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_tablet_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_prepare_rowset_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_prepare_rowset_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_commit_rowset_del_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_update_tmp_rowset_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_update_tmp_rowset_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_tablet_stats_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_update_delete_bitmap_del_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_delete_bitmap_update_lock_del_bytes;
+extern mBvarInt64Adder
g_bvar_rpc_kv_remove_delete_bitmap_update_lock_get_bytes;
+extern mBvarInt64Adder
g_bvar_rpc_kv_remove_delete_bitmap_update_lock_put_bytes;
+extern mBvarInt64Adder
g_bvar_rpc_kv_remove_delete_bitmap_update_lock_del_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_remove_delete_bitmap_del_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_start_tablet_job_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_start_tablet_job_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_finish_tablet_job_del_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_prepare_index_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_prepare_index_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_commit_index_del_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_drop_index_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_drop_index_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_prepare_partition_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_prepare_partition_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_commit_partition_del_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_drop_partition_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_drop_partition_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_check_kv_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_obj_store_info_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_alter_storage_vault_del_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_alter_obj_store_info_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_alter_obj_store_info_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_update_ak_sk_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_update_ak_sk_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_create_instance_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_create_instance_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_instance_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_alter_cluster_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_create_stage_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_create_stage_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_stage_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_iam_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_alter_iam_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_alter_iam_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_alter_ram_user_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_alter_ram_user_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_begin_copy_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_begin_copy_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_finish_copy_del_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_copy_job_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_copy_files_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_filter_copy_files_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_cluster_status_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_begin_txn_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_begin_txn_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_precommit_txn_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_precommit_txn_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_rl_task_commit_attach_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_reset_rl_progress_del_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_commit_txn_del_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_del_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_txn_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_current_max_txn_id_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_begin_sub_txn_del_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_abort_sub_txn_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_abort_sub_txn_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_abort_txn_with_coordinator_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_check_txn_conflict_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_get_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_put_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_clean_txn_label_del_bytes;
+extern mBvarInt64Adder g_bvar_rpc_kv_get_txn_id_get_bytes;
+
// meta ranges
extern mBvarStatus<int64_t> g_bvar_fdb_kv_ranges_count;
diff --git a/cloud/src/common/stats.h b/cloud/src/common/stats.h
index 2d99bf0d3c1..a9e482a3e4c 100644
--- a/cloud/src/common/stats.h
+++ b/cloud/src/common/stats.h
@@ -21,6 +21,10 @@
namespace doris::cloud {
struct KVStats {
+ int64_t get_bytes {};
+ int64_t put_bytes {};
+ int64_t del_bytes {};
+
int64_t get_counter {};
int64_t put_counter {};
int64_t del_counter {};
diff --git a/cloud/src/meta-service/meta_service.cpp
b/cloud/src/meta-service/meta_service.cpp
index 7e0d3a267b8..176882cb120 100644
--- a/cloud/src/meta-service/meta_service.cpp
+++ b/cloud/src/meta-service/meta_service.cpp
@@ -358,6 +358,7 @@ void
MetaServiceImpl::batch_get_version(::google::protobuf::RpcController* contr
}
DORIS_CLOUD_DEFER {
if (txn == nullptr) return;
+ stats.get_bytes += txn->get_bytes();
stats.get_counter += txn->num_get_keys();
};
for (size_t i = response->versions_size(); i < num_acquired; i +=
BATCH_SIZE) {
@@ -459,6 +460,8 @@ void internal_create_tablet(const CreateTabletsRequest*
request, MetaServiceCode
}
DORIS_CLOUD_DEFER {
if (txn == nullptr) return;
+ stats.get_bytes += txn->get_bytes();
+ stats.put_bytes += txn->put_bytes();
stats.get_counter += txn->num_get_keys();
stats.put_counter += txn->num_put_keys();
};
@@ -606,6 +609,8 @@ void
MetaServiceImpl::create_tablets(::google::protobuf::RpcController* controll
instance_key(key_info, &key);
err = txn0->get(key, &val);
+ stats.get_bytes += val.size() + key.size();
+ stats.get_counter++;
LOG(INFO) << "get instance_key=" << hex(key);
stats.get_counter++;
if (err != TxnErrorCode::TXN_OK) {
@@ -1726,6 +1731,7 @@ void
MetaServiceImpl::get_rowset(::google::protobuf::RpcController* controller,
}
DORIS_CLOUD_DEFER {
if (txn == nullptr) return;
+ stats.get_bytes += txn->get_bytes();
stats.get_counter += txn->num_get_keys();
};
TabletIndexPB idx;
@@ -1766,6 +1772,7 @@ void
MetaServiceImpl::get_rowset(::google::protobuf::RpcController* controller,
if (version_pb.pending_txn_ids_size() > 0) {
DCHECK(version_pb.pending_txn_ids_size() == 1);
+ stats.get_bytes += txn->get_bytes();
stats.get_counter += txn->num_get_keys();
txn.reset();
TEST_SYNC_POINT_CALLBACK("get_rowset::advance_last_pending_txn_id",
@@ -1900,6 +1907,7 @@ void
MetaServiceImpl::get_tablet_stats(::google::protobuf::RpcController* contro
return;
}
DORIS_CLOUD_DEFER {
+ stats.get_bytes += txn->get_bytes();
stats.get_counter += txn->num_get_keys();
// the txn is not a local variable, if not reset will count last
res twice
txn.reset(nullptr);
@@ -2246,6 +2254,9 @@ void
MetaServiceImpl::update_delete_bitmap(google::protobuf::RpcController* cont
g_bvar_update_delete_bitmap_fail_counter << 1;
return;
}
+ stats.get_bytes += txn->get_bytes();
+ stats.put_bytes += txn->put_bytes();
+ stats.del_bytes += txn->delete_bytes();
stats.get_counter += txn->num_get_keys();
stats.put_counter += txn->num_put_keys();
stats.del_counter += txn->num_del_keys();
@@ -2359,6 +2370,7 @@ void
MetaServiceImpl::get_delete_bitmap(google::protobuf::RpcController* control
}
DORIS_CLOUD_DEFER {
if (txn == nullptr) return;
+ stats.get_bytes += txn->get_bytes();
stats.get_counter += txn->num_get_keys();
};
MetaDeleteBitmapInfo start_key_info {instance_id, tablet_id,
rowset_ids[i],
@@ -2387,6 +2399,7 @@ void
MetaServiceImpl::get_delete_bitmap(google::protobuf::RpcController* control
TEST_SYNC_POINT_CALLBACK("get_delete_bitmap_err", &round, &err);
int64_t retry = 0;
while (err == TxnErrorCode::TXN_TOO_OLD && retry < 3) {
+ stats.get_bytes += txn->get_bytes();
stats.get_counter += txn->num_get_keys();
txn = nullptr;
err = txn_kv_->create_txn(&txn);
@@ -2481,6 +2494,7 @@ void
MetaServiceImpl::get_delete_bitmap(google::protobuf::RpcController* control
}
DORIS_CLOUD_DEFER {
if (txn == nullptr) return;
+ stats.get_bytes += txn->get_bytes();
stats.get_counter += txn->num_get_keys();
};
TabletIndexPB idx(request->idx());
@@ -2635,6 +2649,9 @@ bool
MetaServiceImpl::get_mow_tablet_stats_and_meta(MetaServiceCode& code, std::
}
DORIS_CLOUD_DEFER {
if (txn == nullptr) return;
+ stats.get_bytes += txn->get_bytes();
+ stats.put_bytes += txn->put_bytes();
+ stats.del_bytes += txn->delete_bytes();
stats.get_counter += txn->num_get_keys();
stats.put_counter += txn->num_put_keys();
stats.del_counter += txn->num_del_keys();
diff --git a/cloud/src/meta-service/meta_service_helper.h
b/cloud/src/meta-service/meta_service_helper.h
index 7ecdf856659..9d99e28b643 100644
--- a/cloud/src/meta-service/meta_service_helper.h
+++ b/cloud/src/meta-service/meta_service_helper.h
@@ -230,8 +230,10 @@ inline MetaServiceCode cast_as(TxnErrorCode code) {
// don't use these macro it just for defer count, reduce useless variable(some
rpc just need one of rw op)
// If we have to write separate code for each RPC, it would be quite
troublesome
// After all, adding put, get, and del after the RPC_PREPROCESS macro is
simpler than writing a long string of code
-#define RPCKVCOUNTHELPER(func_name, op) \
+#define RPCKVCOUNTHELPER(func_name, op)
\
+ g_bvar_rpc_kv_##func_name##_##op##_bytes.put({instance_id},
stats.op##_bytes); \
g_bvar_rpc_kv_##func_name##_##op##_counter.put({instance_id},
stats.op##_counter);
+
#define RPCKVCOUNT_0(func_name)
#define RPCKVCOUNT_1(func_name, op1) RPCKVCOUNTHELPER(func_name, op1)
#define RPCKVCOUNT_2(func_name, op1, op2) \
@@ -266,6 +268,9 @@ inline MetaServiceCode cast_as(TxnErrorCode code) {
finish_rpc(#func_name, ctrl, response);
\
closure_guard.reset(nullptr);
\
if (txn != nullptr) {
\
+ stats.get_bytes += txn->get_bytes();
\
+ stats.put_bytes += txn->put_bytes();
\
+ stats.del_bytes += txn->delete_bytes();
\
stats.get_counter += txn->num_get_keys();
\
stats.put_counter += txn->num_put_keys();
\
stats.del_counter += txn->num_del_keys();
\
diff --git a/cloud/src/meta-service/meta_service_partition.cpp
b/cloud/src/meta-service/meta_service_partition.cpp
index 109b86813f3..e8f009281de 100644
--- a/cloud/src/meta-service/meta_service_partition.cpp
+++ b/cloud/src/meta-service/meta_service_partition.cpp
@@ -629,6 +629,7 @@ void check_create_table(std::string instance_id,
std::shared_ptr<TxnKv> txn_kv,
}
DORIS_CLOUD_DEFER {
if (txn == nullptr) return;
+ stats.get_bytes += txn->get_bytes();
stats.get_counter += txn->num_get_keys();
};
auto& [keys, hint, key_func] = get_check_info(request);
@@ -650,6 +651,7 @@ void check_create_table(std::string instance_id,
std::shared_ptr<TxnKv> txn_kv,
*msg = "prepare and commit rpc not match, recycle key remained";
return;
} else if (err == TxnErrorCode::TXN_TOO_OLD) {
+ stats.get_bytes += txn->get_bytes();
stats.get_counter += txn->num_get_keys();
// separate it to several txn for rubustness
txn.reset();
diff --git a/cloud/src/meta-service/meta_service_resource.cpp
b/cloud/src/meta-service/meta_service_resource.cpp
index f69ed65786d..e33b0c24a6d 100644
--- a/cloud/src/meta-service/meta_service_resource.cpp
+++ b/cloud/src/meta-service/meta_service_resource.cpp
@@ -2590,6 +2590,7 @@ void
MetaServiceImpl::alter_cluster(google::protobuf::RpcController* controller,
KVStats stats;
notify_refresh_instance(txn_kv, instance_id, &stats);
if (config::use_detailed_metrics && !instance_id.empty()) {
+ g_bvar_rpc_kv_alter_cluster_get_bytes.put({instance_id},
stats.get_bytes);
g_bvar_rpc_kv_alter_cluster_get_counter.put({instance_id},
stats.get_counter);
}
});
@@ -4027,6 +4028,7 @@ void
MetaServiceImpl::get_cluster_status(google::protobuf::RpcController* contro
}
DORIS_CLOUD_DEFER {
if (config::use_detailed_metrics && txn != nullptr) {
+ g_bvar_rpc_kv_get_cluster_status_get_bytes.put({instance_id},
txn->get_bytes());
g_bvar_rpc_kv_get_cluster_status_get_counter.put({instance_id},
txn->num_get_keys());
}
@@ -4087,7 +4089,7 @@ void notify_refresh_instance(std::shared_ptr<TxnKv>
txn_kv, const std::string& i
std::string key = system_meta_service_registry_key();
std::string val;
err = txn->get(key, &val);
- if (config::use_detailed_metrics && stats) {
+ if (stats) {
stats->get_counter++;
}
if (err != TxnErrorCode::TXN_OK) {
@@ -4095,6 +4097,9 @@ void notify_refresh_instance(std::shared_ptr<TxnKv>
txn_kv, const std::string& i
<< " err=" << err;
return;
}
+ if (stats) {
+ stats->get_bytes += val.size() + key.size();
+ }
std::string self_endpoint =
config::hostname.empty() ? get_local_ip(config::priority_networks)
: config::hostname;
self_endpoint = fmt::format("{}:{}", self_endpoint,
config::brpc_listen_port);
diff --git a/cloud/src/meta-service/meta_service_txn.cpp
b/cloud/src/meta-service/meta_service_txn.cpp
index 4f8fc6f7299..28e262226ed 100644
--- a/cloud/src/meta-service/meta_service_txn.cpp
+++ b/cloud/src/meta-service/meta_service_txn.cpp
@@ -151,6 +151,8 @@ void
MetaServiceImpl::begin_txn(::google::protobuf::RpcController* controller,
return;
}
// get count before txn reset, if not we will lose these count
+ stats.get_bytes += txn->get_bytes();
+ stats.put_bytes += txn->put_bytes();
stats.get_counter += txn->num_get_keys();
stats.put_counter += txn->num_put_keys();
//2. Get txn id from version stamp
@@ -783,7 +785,9 @@ void scan_tmp_rowset(
return;
}
DORIS_CLOUD_DEFER {
- if (stats && txn) stats->get_counter += txn->num_get_keys();
+ if (!stats || !txn) return;
+ stats->get_bytes += txn->get_bytes();
+ stats->get_counter += txn->num_get_keys();
};
// Get db id with txn id
@@ -958,6 +962,9 @@ void commit_txn_immediately(
}
DORIS_CLOUD_DEFER {
if (txn == nullptr) return;
+ stats.get_bytes += txn->get_bytes();
+ stats.put_bytes += txn->put_bytes();
+ stats.del_bytes += txn->delete_bytes();
stats.get_counter += txn->num_get_keys();
stats.put_counter += txn->num_put_keys();
stats.del_counter += txn->num_del_keys();
@@ -1129,6 +1136,7 @@ void commit_txn_immediately(
version_values.clear();
if (last_pending_txn_id > 0) {
+ stats.get_bytes += txn->get_bytes();
stats.get_counter += txn->num_get_keys();
txn.reset();
TEST_SYNC_POINT_CALLBACK("commit_txn_immediately::advance_last_pending_txn_id",
@@ -1591,6 +1599,9 @@ void commit_txn_eventually(
}
DORIS_CLOUD_DEFER {
if (txn == nullptr) return;
+ stats.get_bytes += txn->get_bytes();
+ stats.put_bytes += txn->put_bytes();
+ stats.del_bytes += txn->delete_bytes();
stats.get_counter += txn->num_get_keys();
stats.put_counter += txn->num_put_keys();
stats.del_counter += txn->num_del_keys();
@@ -1611,6 +1622,7 @@ void commit_txn_eventually(
TEST_SYNC_POINT_CALLBACK("commit_txn_eventually::need_repair_tablet_idx",
&need_repair_tablet_idx);
if (need_repair_tablet_idx) {
+ stats.get_bytes += txn->get_bytes();
stats.get_counter += txn->num_get_keys();
txn.reset();
repair_tablet_index(txn_kv, code, msg, instance_id, db_id, txn_id,
tmp_rowsets_meta);
@@ -1676,6 +1688,7 @@ void commit_txn_eventually(
if (last_pending_txn_id > 0) {
TEST_SYNC_POINT_CALLBACK("commit_txn_eventually::advance_last_pending_txn_id",
&last_pending_txn_id);
+ stats.get_bytes += txn->get_bytes();
stats.get_counter += txn->num_get_keys();
txn.reset();
std::shared_ptr<TxnLazyCommitTask> task =
@@ -2008,6 +2021,9 @@ void commit_txn_with_sub_txn(const CommitTxnRequest*
request, CommitTxnResponse*
}
DORIS_CLOUD_DEFER {
if (txn == nullptr) return;
+ stats.get_bytes += txn->get_bytes();
+ stats.put_bytes += txn->put_bytes();
+ stats.del_bytes += txn->delete_bytes();
stats.get_counter += txn->num_get_keys();
stats.put_counter += txn->num_put_keys();
stats.del_counter += txn->num_del_keys();
@@ -2103,7 +2119,7 @@ void commit_txn_with_sub_txn(const CommitTxnRequest*
request, CommitTxnResponse*
<< " tmp_rowsets_meta.size()=" << tmp_rowsets_meta.size();
sub_txn_to_tmp_rowsets_meta.emplace(sub_txn_id,
std::move(tmp_rowsets_meta));
}
-
+ stats.get_bytes += txn->get_bytes();
stats.get_counter += txn->num_get_keys();
// Create a read/write txn for guarantee consistency
txn.reset();
@@ -3166,6 +3182,8 @@ void
MetaServiceImpl::begin_sub_txn(::google::protobuf::RpcController* controlle
msg = ss.str();
return;
}
+ stats.get_bytes += txn->get_bytes();
+ stats.put_bytes += txn->put_bytes();
stats.get_counter += txn->num_get_keys();
stats.put_counter += txn->num_put_keys();
@@ -3676,6 +3694,9 @@ TxnErrorCode internal_clean_label(std::shared_ptr<TxnKv>
txn_kv, const std::stri
}
DORIS_CLOUD_DEFER {
if (txn == nullptr) return;
+ stats.get_bytes += txn->get_bytes();
+ stats.put_bytes += txn->put_bytes();
+ stats.del_bytes += txn->delete_bytes();
stats.get_counter += txn->num_get_keys();
stats.put_counter += txn->num_put_keys();
stats.del_counter += txn->num_del_keys();
@@ -3837,6 +3858,7 @@ void
MetaServiceImpl::clean_txn_label(::google::protobuf::RpcController* control
}
DORIS_CLOUD_DEFER {
if (txn == nullptr) return;
+ stats.get_bytes += txn->get_bytes();
stats.get_counter += txn->num_get_keys();
};
diff --git a/cloud/src/meta-store/mem_txn_kv.cpp
b/cloud/src/meta-store/mem_txn_kv.cpp
index 5e049c6fe41..87189dd1d8e 100644
--- a/cloud/src/meta-store/mem_txn_kv.cpp
+++ b/cloud/src/meta-store/mem_txn_kv.cpp
@@ -23,10 +23,13 @@
#include <cstring>
#include <memory>
#include <mutex>
+#include <numeric>
#include <optional>
#include <ostream>
#include <string>
+#include "common/defer.h"
+#include "common/util.h"
#include "cpp/sync_point.h"
#include "meta-store/txn_kv_error.h"
#include "txn_kv.h"
@@ -249,6 +252,7 @@ void Transaction::put(std::string_view key,
std::string_view val) {
op_list_.emplace_back(ModifyOpType::PUT, k, v);
++num_put_keys_;
kv_->put_count_++;
+ kv_->put_bytes_ += key.size() + val.size();
put_bytes_ += key.size() + val.size();
approximate_bytes_ += key.size() + val.size();
}
@@ -271,8 +275,6 @@ TxnErrorCode Transaction::get(std::string_view begin,
std::string_view end,
int limit) {
TEST_SYNC_POINT_CALLBACK("memkv::Transaction::get", &limit);
std::lock_guard<std::mutex> l(lock_);
- num_get_keys_++;
- kv_->get_count_++;
std::string begin_k(begin.data(), begin.size());
std::string end_k(end.data(), end.size());
// TODO: figure out what happen if range_get has part of unreadable_keys
@@ -285,6 +287,8 @@ TxnErrorCode Transaction::get(std::string_view begin,
std::string_view end,
}
TxnErrorCode Transaction::inner_get(const std::string& key, std::string* val,
bool snapshot) {
+ num_get_keys_++;
+ kv_->get_count_++;
// Read your writes.
auto it = writes_.find(key);
if (it != writes_.end()) {
@@ -303,6 +307,8 @@ TxnErrorCode Transaction::inner_get(const std::string& key,
std::string* val, bo
return TxnErrorCode::TXN_KEY_NOT_FOUND;
}
}
+ get_bytes_ += val->size() + key.size();
+ kv_->get_bytes_ += val->size() + key.size();
return TxnErrorCode::TXN_OK;
}
@@ -349,6 +355,10 @@ TxnErrorCode Transaction::inner_get(const std::string&
begin, const std::string&
std::vector<std::pair<std::string, std::string>> kv_list(kv_map.begin(),
kv_map.end());
num_get_keys_ += kv_list.size();
kv_->get_count_ += kv_list.size();
+ for (auto& [k, v] : kv_list) {
+ get_bytes_ += k.size() + v.size();
+ kv_->get_bytes_ += k.size() + v.size();
+ }
*iter = std::make_unique<memkv::RangeGetIterator>(std::move(kv_list),
more);
return TxnErrorCode::TXN_OK;
}
@@ -362,6 +372,8 @@ void Transaction::atomic_set_ver_key(std::string_view
key_prefix, std::string_vi
op_list_.emplace_back(ModifyOpType::ATOMIC_SET_VER_KEY, k, v);
++num_put_keys_;
+
+ kv_->put_bytes_ += k.size() + val.size();
put_bytes_ += key_prefix.size() + val.size();
approximate_bytes_ += key_prefix.size() + val.size();
}
@@ -375,6 +387,7 @@ void Transaction::atomic_set_ver_value(std::string_view
key, std::string_view va
op_list_.emplace_back(ModifyOpType::ATOMIC_SET_VER_VAL, k, v);
++num_put_keys_;
+ kv_->put_bytes_ += key.size() + value.size();
put_bytes_ += key.size() + value.size();
approximate_bytes_ += key.size() + value.size();
}
@@ -389,6 +402,7 @@ void Transaction::atomic_add(std::string_view key, int64_t
to_add) {
++num_put_keys_;
kv_->put_count_++;
put_bytes_ += key.size() + 8;
+ kv_->put_bytes_ += key.size() + 8;
approximate_bytes_ += key.size() + 8;
}
@@ -412,6 +426,7 @@ void Transaction::remove(std::string_view key) {
kv_->del_count_++;
++num_del_keys_;
+ kv_->del_bytes_ += key.size();
delete_bytes_ += key.size();
approximate_bytes_ += key.size();
}
@@ -433,6 +448,7 @@ void Transaction::remove(std::string_view begin,
std::string_view end) {
kv_->del_count_ += 2;
// same as normal txn
num_del_keys_ += 2;
+ kv_->del_bytes_ += begin.size() + end.size();
delete_bytes_ += begin.size() + end.size();
approximate_bytes_ += begin.size() + end.size();
}
diff --git a/cloud/src/meta-store/mem_txn_kv.h
b/cloud/src/meta-store/mem_txn_kv.h
index 337f23a0361..d74938d6825 100644
--- a/cloud/src/meta-store/mem_txn_kv.h
+++ b/cloud/src/meta-store/mem_txn_kv.h
@@ -22,6 +22,7 @@
#include <map>
#include <memory>
#include <mutex>
+#include <numeric>
#include <optional>
#include <set>
#include <string>
@@ -57,6 +58,9 @@ public:
TxnErrorCode get_kv(const std::string& begin, const std::string& end,
int64_t version,
int limit, bool* more, std::map<std::string,
std::string>* kv_list);
+ int64_t get_bytes_ {};
+ int64_t put_bytes_ {};
+ int64_t del_bytes_ {};
int64_t get_count_ {};
int64_t put_count_ {};
int64_t del_count_ {};
@@ -203,6 +207,8 @@ public:
size_t put_bytes() const override { return put_bytes_; }
+ size_t get_bytes() const override { return get_bytes_; }
+
private:
TxnErrorCode inner_get(const std::string& key, std::string* val, bool
snapshot);
@@ -229,6 +235,7 @@ private:
size_t num_put_keys_ {0};
size_t delete_bytes_ {0};
size_t put_bytes_ {0};
+ size_t get_bytes_ {0};
};
class RangeGetIterator : public cloud::RangeGetIterator {
@@ -250,6 +257,12 @@ public:
bool more() override { return more_; }
+ int64_t get_kv_bytes() const override {
+ int64_t kv_bytes {};
+ for (auto& [k, v] : kvs_) kv_bytes += k.size() + v.size();
+ return kv_bytes;
+ }
+
int size() override { return kvs_size_; }
void reset() override { idx_ = 0; }
diff --git a/cloud/src/meta-store/txn_kv.cpp b/cloud/src/meta-store/txn_kv.cpp
index 76f3c724958..2b07870a321 100644
--- a/cloud/src/meta-store/txn_kv.cpp
+++ b/cloud/src/meta-store/txn_kv.cpp
@@ -407,6 +407,7 @@ TxnErrorCode Transaction::get(std::string_view key,
std::string* val, bool snaps
<< " key=" << hex(key);
return cast_as_txn_code(err);
}
+ get_bytes_ += len + key.size();
if (!found) return TxnErrorCode::TXN_KEY_NOT_FOUND;
*val = std::string((char*)ret, len);
@@ -440,6 +441,7 @@ TxnErrorCode Transaction::get(std::string_view begin,
std::string_view end,
std::unique_ptr<RangeGetIterator> ret(new RangeGetIterator(fut));
RETURN_IF_ERROR(ret->init());
num_get_keys_ += ret->size();
+ get_bytes_ += ret->get_kv_bytes();
g_bvar_txn_kv_get_count_normalized << ret->size();
*(iter) = std::move(ret);
@@ -655,6 +657,7 @@ TxnErrorCode
Transaction::batch_get(std::vector<std::optional<std::string>>* res
const uint8_t* ret;
int len;
err = fdb_future_get_value(future, &found, &ret, &len);
+ num_get_keys_++;
if (err) {
LOG(WARNING) << __PRETTY_FUNCTION__
<< " failed to fdb_future_get_value err=" <<
fdb_get_error(err)
@@ -665,12 +668,12 @@ TxnErrorCode
Transaction::batch_get(std::vector<std::optional<std::string>>* res
res->push_back(std::nullopt);
continue;
}
+ get_bytes_ += len + key.size();
res->push_back(std::string((char*)ret, len));
}
futures.clear();
}
DCHECK_EQ(res->size(), num_keys);
- num_get_keys_ += num_keys;
return TxnErrorCode::TXN_OK;
}
diff --git a/cloud/src/meta-store/txn_kv.h b/cloud/src/meta-store/txn_kv.h
index 56757cdb68a..45d3b1cc810 100644
--- a/cloud/src/meta-store/txn_kv.h
+++ b/cloud/src/meta-store/txn_kv.h
@@ -20,6 +20,8 @@
#include <foundationdb/fdb_c.h>
#include <foundationdb/fdb_c_options.g.h>
+#include <cstddef>
+#include <cstdint>
#include <memory>
#include <optional>
#include <string>
@@ -253,6 +255,11 @@ public:
**/
virtual size_t delete_bytes() const = 0;
+ /**
+ * @brief return the bytes of the get values consumed.
+ **/
+ virtual size_t get_bytes() const = 0;
+
/**
* @brief return the bytes of the put key and values consumed.
**/
@@ -298,6 +305,12 @@ public:
*/
virtual int size() = 0;
+ /**
+ * Get all FDBKeyValue's bytes include key's bytes
+ * RangeGetIterator created by get range, when get range the keys in the
range too.
+ */
+ virtual int64_t get_kv_bytes() const = 0;
+
/**
* Resets to initial state, some kinds of iterators may not support this
function.
*/
@@ -457,6 +470,14 @@ public:
int size() override { return kvs_size_; }
+ int64_t get_kv_bytes() const override {
+ int64_t total_bytes {};
+ for (int i = 0; i < kvs_size_; i++) {
+ total_bytes += kvs_[i].key_length + kvs_[i].value_length;
+ }
+ return total_bytes;
+ }
+
void reset() override { idx_ = 0; }
std::string next_begin_key() override {
@@ -580,6 +601,8 @@ public:
size_t put_bytes() const override { return put_bytes_; }
+ size_t get_bytes() const override { return get_bytes_; }
+
private:
std::shared_ptr<Database> db_ {nullptr};
bool commited_ = false;
@@ -590,6 +613,7 @@ private:
size_t num_del_keys_ {0};
size_t num_put_keys_ {0};
size_t delete_bytes_ {0};
+ size_t get_bytes_ {0};
size_t put_bytes_ {0};
size_t approximate_bytes_ {0};
};
diff --git a/cloud/test/rpc_kv_bvar_test.cpp b/cloud/test/rpc_kv_bvar_test.cpp
index 9ff4aac0c20..d737718d313 100644
--- a/cloud/test/rpc_kv_bvar_test.cpp
+++ b/cloud/test/rpc_kv_bvar_test.cpp
@@ -507,19 +507,25 @@ void finish_schema_change_job(
meta_service->finish_tablet_job(&cntl, &req, &res, nullptr);
}
+void clear_memkv_count_bytes(MemTxnKv* memkv) {
+ memkv->get_count_ = memkv->put_count_ = memkv->del_count_ = 0;
+ memkv->get_bytes_ = memkv->put_bytes_ = memkv->del_bytes_ = 0;
+}
+
// create_tablets
TEST(RpcKvBvarTest, CreateTablets) {
auto meta_service = get_meta_service();
auto mem_kv = std::dynamic_pointer_cast<MemTxnKv>(meta_service->txn_kv());
constexpr auto table_id = 10021, index_id = 10022, partition_id = 10023,
tablet_id = 10024;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
create_tablet(meta_service.get(), table_id, index_id, partition_id,
tablet_id);
LOG(INFO) << "CreateTablets: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_create_tablets_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_create_tablets_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_create_tablets_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_create_tablets_put_counter.get({mock_instance}));
}
@@ -532,9 +538,7 @@ TEST(RpcKvBvarTest, GetTablet) {
constexpr auto table_id = 10021, index_id = 10022, partition_id = 10023,
tablet_id = 10024;
create_tablet(meta_service.get(), table_id, index_id, partition_id,
tablet_id);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
brpc::Controller cntl;
GetTabletRequest req;
@@ -544,7 +548,9 @@ TEST(RpcKvBvarTest, GetTablet) {
meta_service->get_tablet(&cntl, &req, &resp, nullptr);
LOG(INFO) << "GetTablet: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_tablet_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_tablet_get_counter.get({mock_instance}));
}
@@ -556,15 +562,16 @@ TEST(RpcKvBvarTest, GetTabletStats) {
constexpr auto table_id = 10021, index_id = 10022, partition_id = 10023,
tablet_id = 10024;
create_tablet(meta_service.get(), table_id, index_id, partition_id,
tablet_id);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
GetTabletStatsResponse res;
get_tablet_stats(meta_service.get(), table_id, index_id, partition_id,
tablet_id, res);
LOG(INFO) << "GetTabletStats: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_tablet_stats_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_tablet_stats_get_counter.get({mock_instance}));
}
@@ -583,14 +590,16 @@ TEST(RpcKvBvarTest, UpdateTablet) {
tablet_meta_info->set_tablet_id(tablet_id);
tablet_meta_info->set_is_in_memory(true);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->update_tablet(&cntl, &req, &resp, nullptr);
LOG(INFO) << "UpdateTablet: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_update_tablet_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_update_tablet_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_update_tablet_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_update_tablet_put_counter.get({mock_instance}));
}
@@ -636,14 +645,16 @@ TEST(RpcKvBvarTest, BeginTxn) {
int64_t txn_id = 0;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
ASSERT_NO_FATAL_FAILURE(begin_txn(meta_service.get(), db_id, label,
table_id, txn_id));
LOG(INFO) << "BeginTxn: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_begin_txn_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_begin_txn_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_begin_txn_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_begin_txn_put_counter.get({mock_instance}));
}
@@ -659,14 +670,17 @@ TEST(RpcKvBvarTest, CommitTxn) {
int64_t txn_id = 0;
ASSERT_NO_FATAL_FAILURE(begin_txn(meta_service.get(), db_id, label,
table_id, txn_id));
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
commit_txn(meta_service.get(), db_id, txn_id, label);
LOG(INFO) << "CommitTxn: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_commit_txn_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_commit_txn_put_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->del_bytes_,
g_bvar_rpc_kv_commit_txn_del_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_commit_txn_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_commit_txn_put_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->del_count_,
g_bvar_rpc_kv_commit_txn_del_counter.get({mock_instance}));
@@ -716,16 +730,18 @@ TEST(RpcKvBvarTest, PrecommitTxn) {
req.set_precommit_timeout_ms(36000);
PrecommitTxnResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->precommit_txn(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&req,
&res, nullptr);
ASSERT_EQ(res.status().code(), MetaServiceCode::OK);
LOG(INFO) << "PrecommitTxn: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_precommit_txn_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_precommit_txn_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_precommit_txn_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_precommit_txn_put_counter.get({mock_instance}));
}
@@ -741,9 +757,7 @@ TEST(RpcKvBvarTest, AbortTxn) {
int64_t txn_id = 0;
ASSERT_NO_FATAL_FAILURE(begin_txn(meta_service.get(), db_id, label,
table_id, txn_id));
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
brpc::Controller cntl;
AbortTxnRequest req;
@@ -756,7 +770,12 @@ TEST(RpcKvBvarTest, AbortTxn) {
ASSERT_EQ(res.status().code(), MetaServiceCode::OK);
LOG(INFO) << "AbortTxn: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_abort_txn_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_abort_txn_put_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->del_bytes_,
g_bvar_rpc_kv_abort_txn_del_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_abort_txn_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_abort_txn_put_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->del_count_,
g_bvar_rpc_kv_abort_txn_del_counter.get({mock_instance}));
@@ -773,9 +792,7 @@ TEST(RpcKvBvarTest, GetTxn) {
int64_t txn_id = 0;
ASSERT_NO_FATAL_FAILURE(begin_txn(meta_service.get(), db_id, label,
table_id, txn_id));
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
brpc::Controller cntl;
GetTxnRequest req;
@@ -788,7 +805,10 @@ TEST(RpcKvBvarTest, GetTxn) {
ASSERT_EQ(res.status().code(), MetaServiceCode::OK);
LOG(INFO) << "GetTxn: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_txn_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_txn_get_counter.get({mock_instance}));
}
@@ -812,14 +832,15 @@ TEST(RpcKvBvarTest, GetTxnId) {
req.set_label(label);
req.set_db_id(db_id);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->get_txn_id(&cntl, &req, &res, nullptr);
LOG(INFO) << "GetTxnId: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_txn_id_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_txn_id_get_counter.get({mock_instance}));
}
@@ -839,14 +860,16 @@ TEST(RpcKvBvarTest, PrepareRowset) {
rowset.mutable_load_id()->set_hi(123);
rowset.mutable_load_id()->set_lo(456);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
prepare_rowset(meta_service.get(), rowset, res);
LOG(INFO) << "PrepareRowset: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_prepare_rowset_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_prepare_rowset_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_prepare_rowset_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_prepare_rowset_put_counter.get({mock_instance}));
}
@@ -863,16 +886,17 @@ TEST(RpcKvBvarTest, GetRowset) {
// check get tablet response
check_get_tablet(meta_service.get(), tablet_id, 1);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
// check get rowset response
GetRowsetResponse get_rowset_res;
get_rowset(meta_service.get(), table_id, index_id, partition_id,
tablet_id, get_rowset_res);
LOG(INFO) << "GetRowset: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_rowset_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_rowset_get_counter.get({mock_instance}));
}
@@ -904,10 +928,7 @@ TEST(RpcKvBvarTest, UpdateTmpRowset) {
EXPECT_EQ(txn->commit(), TxnErrorCode::TXN_OK);
req->mutable_rowset_meta()->CopyFrom(rowset);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
-
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->update_tmp_rowset(&cntl, req, &res, nullptr);
if (!arena) {
@@ -915,7 +936,11 @@ TEST(RpcKvBvarTest, UpdateTmpRowset) {
}
LOG(INFO) << "UpdateTmpRowset: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_update_tmp_rowset_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_update_tmp_rowset_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_update_tmp_rowset_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_update_tmp_rowset_put_counter.get({mock_instance}));
}
@@ -930,15 +955,18 @@ TEST(RpcKvBvarTest, CommitRowset) {
create_tablet(meta_service.get(), table_id, index_id, partition_id,
tablet_id);
auto tmp_rowset = create_rowset(txn_id, tablet_id, partition_id);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
CreateRowsetResponse res;
commit_rowset(meta_service.get(), tmp_rowset, res);
LOG(INFO) << "CommitRowset: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_commit_rowset_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_commit_rowset_put_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->del_bytes_,
g_bvar_rpc_kv_commit_rowset_del_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_commit_rowset_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_commit_rowset_put_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->del_count_,
g_bvar_rpc_kv_commit_rowset_del_counter.get({mock_instance}));
@@ -960,15 +988,16 @@ TEST(RpcKvBvarTest, GetVersion) {
req.set_table_id(table_id);
req.set_partition_id(partition_id);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
GetVersionResponse resp;
meta_service->get_version(&ctrl, &req, &resp, nullptr);
LOG(INFO) << "GetVersion: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_version_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_version_get_counter.get({mock_instance}));
}
@@ -991,15 +1020,16 @@ TEST(RpcKvBvarTest, GetSchemaDict) {
txn->put(dict_key, "dict_val");
EXPECT_EQ(txn->commit(), TxnErrorCode::TXN_OK);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
GetSchemaDictResponse resp;
meta_service->get_schema_dict(&ctrl, &req, &resp, nullptr);
LOG(INFO) << "GetSchemaDict: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_schema_dict_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_schema_dict_get_counter.get({mock_instance}));
}
@@ -1021,14 +1051,20 @@ TEST(RpcKvBvarTest, GetDeleteBitmapUpdateLock) {
int64_t lock_id = -2;
int64_t initiator = 1009;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
get_delete_bitmap_update_lock(meta_service.get(), table_id, t1p1, lock_id,
initiator);
LOG(INFO) << "GetDeleteBitmapUpdateLock: " << mem_kv->get_count_ << ", "
<< mem_kv->put_count_
- << ", " << mem_kv->del_count_;
+ << ", " << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ <<
", "
+ << mem_kv->put_bytes_ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
+
g_bvar_rpc_kv_get_delete_bitmap_update_lock_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
+
g_bvar_rpc_kv_get_delete_bitmap_update_lock_put_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->del_bytes_,
+
g_bvar_rpc_kv_get_delete_bitmap_update_lock_del_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_delete_bitmap_update_lock_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
@@ -1062,15 +1098,21 @@ TEST(RpcKvBvarTest, UpdateDeleteBitmap) {
// will be splited and stored in 5 KVs
std::string data1(split_size * 5, 'c');
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
update_delete_bitmap(meta_service.get(), update_delete_bitmap_req,
update_delete_bitmap_res,
table_id, t1p1, lock_id, initiator, tablet_id,
txn_id, version, data1);
LOG(INFO) << "UpdateDeleteBitmap: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
+
g_bvar_rpc_kv_update_delete_bitmap_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
+
g_bvar_rpc_kv_update_delete_bitmap_put_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->del_bytes_,
+
g_bvar_rpc_kv_update_delete_bitmap_del_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_update_delete_bitmap_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
@@ -1114,15 +1156,16 @@ TEST(RpcKvBvarTest, GetDeleteBitmap) {
get_delete_bitmap_req.add_begin_versions(0);
get_delete_bitmap_req.add_end_versions(version);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->get_delete_bitmap(reinterpret_cast<google::protobuf::RpcController*>(&ctrl),
&get_delete_bitmap_req,
&get_delete_bitmap_res, nullptr);
LOG(INFO) << "GetDeleteBitmap: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_delete_bitmap_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_delete_bitmap_get_counter.get({mock_instance}));
}
@@ -1154,16 +1197,22 @@ TEST(RpcKvBvarTest, RemoveDeleteBitmapUpdateLock) {
remove_req.set_lock_id(lock_id);
remove_req.set_initiator(initiator);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->remove_delete_bitmap_update_lock(
reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&remove_req, &remove_res,
nullptr);
LOG(INFO) << "RemoveDeleteBitmapUpdateLock: " << mem_kv->get_count_ << ", "
- << mem_kv->put_count_ << ", " << mem_kv->del_count_;
+ << mem_kv->put_count_ << ", " << mem_kv->del_count_ << ", " <<
mem_kv->get_bytes_
+ << ", " << mem_kv->put_bytes_ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
+
g_bvar_rpc_kv_remove_delete_bitmap_update_lock_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
+
g_bvar_rpc_kv_remove_delete_bitmap_update_lock_put_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->del_bytes_,
+
g_bvar_rpc_kv_remove_delete_bitmap_update_lock_del_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_remove_delete_bitmap_update_lock_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
@@ -1206,14 +1255,16 @@ TEST(RpcKvBvarTest, RemoveDeleteBitmap) {
req.add_rowset_ids("rowset_ids");
req.set_cloud_unique_id("test_cloud_unique_id");
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->remove_delete_bitmap(&ctrl, &req, &resp, nullptr);
LOG(INFO) << "RemoveDeleteBitmap: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->del_bytes_,
+
g_bvar_rpc_kv_remove_delete_bitmap_del_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->del_count_,
g_bvar_rpc_kv_remove_delete_bitmap_del_counter.get({mock_instance}));
}
@@ -1229,15 +1280,17 @@ TEST(RpcKvBvarTest, StartTabletJob) {
create_tablet(meta_service.get(), table_id, index_id, partition_id,
tablet_id);
StartTabletJobResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
start_compaction_job(meta_service.get(), tablet_id, "compaction1",
"ip:port", 0, 0,
TabletCompactionJobPB::BASE, res);
LOG(INFO) << "StartTabletJob: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_start_tablet_job_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_start_tablet_job_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_start_tablet_job_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_start_tablet_job_put_counter.get({mock_instance}));
}
@@ -1280,14 +1333,17 @@ TEST(RpcKvBvarTest, FinishTabletJob) {
compaction->set_lease(now + 10);
req.mutable_job()->mutable_idx()->set_tablet_id(tablet_id);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->finish_tablet_job(&cntl, &req, &finish_res_2, nullptr);
LOG(INFO) << "FinishTabletJob: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_finish_tablet_job_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_finish_tablet_job_put_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->del_bytes_,
g_bvar_rpc_kv_finish_tablet_job_del_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_finish_tablet_job_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_finish_tablet_job_put_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->del_count_,
g_bvar_rpc_kv_finish_tablet_job_del_counter.get({mock_instance}));
@@ -1325,14 +1381,16 @@ TEST(RpcKvBvarTest, PrepareIndex) {
req.set_is_new_table(true);
IndexResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->prepare_index(&ctrl, &req, &res, nullptr);
LOG(INFO) << "PrepareIndex: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_prepare_index_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_prepare_index_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_prepare_index_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_prepare_index_put_counter.get({mock_instance}));
}
@@ -1371,14 +1429,17 @@ TEST(RpcKvBvarTest, CommitIndex) {
meta_service->prepare_index(&ctrl, &req, &res, nullptr);
res.Clear();
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->commit_index(&ctrl, &req, &res, nullptr);
LOG(INFO) << "CommitIndex: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_commit_index_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_commit_index_put_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->del_bytes_,
g_bvar_rpc_kv_commit_index_del_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_commit_index_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_commit_index_put_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->del_count_,
g_bvar_rpc_kv_commit_index_del_counter.get({mock_instance}));
@@ -1437,15 +1498,17 @@ TEST(RpcKvBvarTest, DropIndex) {
req.add_index_ids(index_id);
IndexResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->drop_index(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&req,
&res, nullptr);
LOG(INFO) << "DropIndex: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_drop_index_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_drop_index_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_drop_index_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_drop_index_put_counter.get({mock_instance}));
}
@@ -1484,14 +1547,16 @@ TEST(RpcKvBvarTest, PreparePartition) {
txn->atomic_add(tbl_version_key, 1);
ASSERT_EQ(txn->commit(), TxnErrorCode::TXN_OK);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->prepare_partition(&ctrl, &req, &res, nullptr);
LOG(INFO) << "PreparePartition: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_prepare_partition_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_prepare_partition_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_prepare_partition_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_prepare_partition_put_counter.get({mock_instance}));
}
@@ -1530,14 +1595,17 @@ TEST(RpcKvBvarTest, CommitPartition) {
ASSERT_EQ(txn->commit(), TxnErrorCode::TXN_OK);
meta_service->prepare_partition(&ctrl, &req, &res, nullptr);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->commit_partition(&ctrl, &req, &res, nullptr);
LOG(INFO) << "CommitPartition: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_commit_partition_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_commit_partition_put_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->del_bytes_,
g_bvar_rpc_kv_commit_partition_del_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_commit_partition_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_commit_partition_put_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->del_count_,
g_bvar_rpc_kv_commit_partition_del_counter.get({mock_instance}));
@@ -1570,14 +1638,15 @@ TEST(RpcKvBvarTest, CheckKv) {
check_keys_pb.add_partition_ids(partition_id + 1);
req_check.mutable_check_keys()->CopyFrom(check_keys_pb);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->check_kv(&ctrl, &req_check, &res_check, nullptr);
LOG(INFO) << "CheckKv: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_check_kv_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_check_kv_get_counter.get({mock_instance}));
}
@@ -1604,14 +1673,16 @@ TEST(RpcKvBvarTest, DropPartition) {
req.add_partition_ids(partition_id);
req.set_need_update_table_version(true);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->drop_partition(&ctrl, &req, &res, nullptr);
LOG(INFO) << "DropPartition: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_drop_partition_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_drop_partition_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_drop_partition_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_drop_partition_put_counter.get({mock_instance}));
}
@@ -1636,14 +1707,15 @@ TEST(RpcKvBvarTest, GetObjStoreInfo) {
GetObjStoreInfoRequest req;
req.set_cloud_unique_id("test_cloud_unique_id");
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->get_obj_store_info(&cntl, &req, &res, nullptr);
LOG(INFO) << "GetObjStoreInfo: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_obj_store_info_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_obj_store_info_get_counter.get({mock_instance}));
}
@@ -1674,15 +1746,18 @@ TEST(RpcKvBvarTest, AlterStorageVault) {
brpc::Controller cntl;
AlterObjStoreInfoResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->alter_storage_vault(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&req, &res, nullptr);
LOG(INFO) << "AlterStorageVault: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_alter_storage_vault_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_alter_storage_vault_put_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->del_bytes_,
g_bvar_rpc_kv_alter_storage_vault_del_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_alter_storage_vault_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
@@ -1737,15 +1812,19 @@ TEST(RpcKvBvarTest, AlterObjStoreInfo) {
brpc::Controller cntl;
AlterObjStoreInfoResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->alter_obj_store_info(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&req, &res, nullptr);
LOG(INFO) << "AlterObjStoreInfo: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
+
g_bvar_rpc_kv_alter_obj_store_info_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
+
g_bvar_rpc_kv_alter_obj_store_info_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_alter_obj_store_info_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
@@ -1804,15 +1883,17 @@ TEST(RpcKvBvarTest, UpdateAkSk) {
brpc::Controller cntl;
UpdateAkSkResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->update_ak_sk(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&req,
&res, nullptr);
LOG(INFO) << "UpdateAkSk: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_update_ak_sk_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_update_ak_sk_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_update_ak_sk_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_update_ak_sk_put_counter.get({mock_instance}));
@@ -1853,16 +1934,17 @@ TEST(RpcKvBvarTest, CreateInstance) {
sp->enable_processing();
CreateInstanceResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->create_instance(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&req,
&res, nullptr);
ASSERT_EQ(res.status().code(), MetaServiceCode::OK);
LOG(INFO) << "CreateInstance: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_create_instance_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_create_instance_get_counter.get({mock_instance}));
sp->clear_all_call_backs();
@@ -1910,16 +1992,17 @@ TEST(RpcKvBvarTest, GetInstance) {
GetInstanceRequest req;
GetInstanceResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
req.set_cloud_unique_id("1:test_instance:m-n3qdpyal27rh8iprxx");
meta_service->get_instance(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&req,
&res, nullptr);
LOG(INFO) << "GetInstance: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_instance_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_instance_get_counter.get({mock_instance}));
sp->clear_all_call_backs();
sp->clear_trace();
@@ -1927,7 +2010,6 @@ TEST(RpcKvBvarTest, GetInstance) {
}
// alter_cluster
-// alter cluster have not do kv op
// TEST(RpcKvBvarTest, AlterCluster) {
// auto meta_service = get_meta_service();
// auto mem_kv =
std::dynamic_pointer_cast<MemTxnKv>(meta_service->txn_kv());
@@ -1982,16 +2064,18 @@ TEST(RpcKvBvarTest, GetCluster) {
req.set_cluster_name("test_cluster");
GetClusterResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->get_cluster(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&req,
&res, nullptr);
ASSERT_EQ(res.status().code(), MetaServiceCode::OK);
LOG(INFO) << "GetCluster: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_cluster_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_get_cluster_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_cluster_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_get_cluster_put_counter.get({mock_instance}));
}
@@ -2073,16 +2157,16 @@ TEST(RpcKvBvarTest, CreateStage) {
create_stage_request.set_cloud_unique_id(cloud_unique_id);
create_stage_request.mutable_stage()->CopyFrom(stage);
CreateStageResponse create_stage_response;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->create_stage(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&create_stage_request, &create_stage_response,
nullptr);
- ASSERT_EQ(create_stage_response.status().code(), MetaServiceCode::OK);
LOG(INFO) << "CreateStage: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_create_stage_get_bytes.get({instance_id}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_create_stage_put_bytes.get({instance_id}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_create_stage_get_counter.get({instance_id}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_create_stage_put_counter.get({instance_id}));
sp->clear_all_call_backs();
@@ -2169,7 +2253,6 @@ TEST(RpcKvBvarTest, GetStage) {
CreateStageResponse create_stage_response;
meta_service->create_stage(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&create_stage_request, &create_stage_response,
nullptr);
- ASSERT_EQ(create_stage_response.status().code(), MetaServiceCode::OK);
GetStageRequest get_stage_req;
get_stage_req.set_type(StagePB::INTERNAL);
@@ -2180,17 +2263,15 @@ TEST(RpcKvBvarTest, GetStage) {
// get existent internal stage
GetStageResponse res2;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->get_stage(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&get_stage_req, &res2, nullptr);
- ASSERT_EQ(res2.status().code(), MetaServiceCode::OK);
- ASSERT_EQ(1, res2.stage().size());
LOG(INFO) << "GetStage: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_stage_get_bytes.get({instance_id}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_stage_get_counter.get({instance_id}));
sp->clear_all_call_backs();
sp->clear_trace();
@@ -2268,16 +2349,15 @@ TEST(RpcKvBvarTest, GetIam) {
request.set_cloud_unique_id(cloud_unique_id);
GetIamResponse response;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
-
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->get_iam(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&request,
&response, nullptr);
ASSERT_EQ(response.status().code(), MetaServiceCode::OK);
LOG(INFO) << "GetIam: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_iam_get_bytes.get({instance_id}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_iam_get_counter.get({instance_id}));
sp->clear_all_call_backs();
sp->clear_trace();
@@ -2311,16 +2391,17 @@ TEST(RpcKvBvarTest, AlterIam) {
brpc::Controller cntl;
AlterIamResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->alter_iam(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&req, &res,
nullptr);
ASSERT_EQ(res.status().code(), MetaServiceCode::OK);
LOG(INFO) << "AlterIam: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_alter_iam_get_bytes.get({"alter_iam_instance"}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_alter_iam_put_bytes.get({"alter_iam_instance"}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_alter_iam_get_counter.get({"alter_iam_instance"}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_alter_iam_put_counter.get({"alter_iam_instance"}));
}
@@ -2390,14 +2471,15 @@ TEST(RpcKvBvarTest, AlterRamUser) {
alter_ram_user_request.set_instance_id(instance_id);
alter_ram_user_request.mutable_ram_user()->CopyFrom(ram_user);
AlterRamUserResponse alter_ram_user_response;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->alter_ram_user(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&alter_ram_user_request,
&alter_ram_user_response, nullptr);
LOG(INFO) << "AlterRamUser: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_alter_ram_user_get_bytes.get({instance_id}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_alter_ram_user_put_bytes.get({instance_id}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_alter_ram_user_get_counter.get({instance_id}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_alter_ram_user_put_counter.get({instance_id}));
sp->clear_all_call_backs();
@@ -2444,16 +2526,17 @@ TEST(RpcKvBvarTest, BeginCopy) {
}
BeginCopyResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->begin_copy(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&begin_copy_request, &res, nullptr);
ASSERT_EQ(res.status().code(), MetaServiceCode::OK);
LOG(INFO) << "BeginCopy: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_begin_copy_get_bytes.get({instance_id}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_begin_copy_put_bytes.get({instance_id}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_begin_copy_get_counter.get({instance_id}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_begin_copy_put_counter.get({instance_id}));
sp->clear_all_call_backs();
@@ -2511,9 +2594,7 @@ TEST(RpcKvBvarTest, GetCopyJob) {
get_copy_job_request.set_copy_id("test_copy_id");
get_copy_job_request.set_group_id(0);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
GetCopyJobResponse res;
meta_service->get_copy_job(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
@@ -2521,7 +2602,9 @@ TEST(RpcKvBvarTest, GetCopyJob) {
ASSERT_EQ(res.status().code(), MetaServiceCode::OK);
LOG(INFO) << "GetCopyJob: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_copy_job_get_bytes.get({instance_id}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_copy_job_get_counter.get({instance_id}));
sp->clear_all_call_backs();
sp->clear_trace();
@@ -2579,9 +2662,7 @@ TEST(RpcKvBvarTest, FinishCopy) {
finish_copy_request.set_group_id(0);
finish_copy_request.set_action(FinishCopyRequest::COMMIT);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
FinishCopyResponse res;
meta_service->finish_copy(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
@@ -2589,7 +2670,11 @@ TEST(RpcKvBvarTest, FinishCopy) {
ASSERT_EQ(res.status().code(), MetaServiceCode::OK);
LOG(INFO) << "FinishCopy: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_finish_copy_get_bytes.get({instance_id}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_finish_copy_put_bytes.get({instance_id}));
+ ASSERT_EQ(mem_kv->del_bytes_,
g_bvar_rpc_kv_finish_copy_del_bytes.get({instance_id}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_finish_copy_get_counter.get({instance_id}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_finish_copy_put_counter.get({instance_id}));
ASSERT_EQ(mem_kv->del_count_,
g_bvar_rpc_kv_finish_copy_del_counter.get({instance_id}));
@@ -2645,9 +2730,7 @@ TEST(RpcKvBvarTest, GetCopyFiles) {
get_copy_file_req.set_stage_id(stage_id);
get_copy_file_req.set_table_id(table_id);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
GetCopyFilesResponse res;
meta_service->get_copy_files(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
@@ -2655,7 +2738,9 @@ TEST(RpcKvBvarTest, GetCopyFiles) {
ASSERT_EQ(res.status().code(), MetaServiceCode::OK);
LOG(INFO) << "GetCopyFiles: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_copy_files_get_bytes.get({instance_id}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_copy_files_get_counter.get({instance_id}));
sp->clear_all_call_backs();
sp->clear_trace();
@@ -2716,16 +2801,16 @@ TEST(RpcKvBvarTest, FilterCopyFiles) {
request.add_object_files()->CopyFrom(object_file);
}
FilterCopyFilesResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->filter_copy_files(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&request, &res, nullptr);
ASSERT_EQ(res.status().code(), MetaServiceCode::OK);
LOG(INFO) << "FilterCopyFiles: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_filter_copy_files_get_bytes.get({instance_id}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_filter_copy_files_get_counter.get({instance_id}));
sp->clear_all_call_backs();
sp->clear_trace();
@@ -2779,9 +2864,7 @@ TEST(RpcKvBvarTest, GetClusterStatus) {
req.add_instance_ids(mock_instance);
GetClusterStatusResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->get_cluster_status(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&req, &res, nullptr);
@@ -2789,7 +2872,9 @@ TEST(RpcKvBvarTest, GetClusterStatus) {
ASSERT_EQ(res.details().at(0).clusters().size(), 3);
LOG(INFO) << "GetClusterStatus: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_get_cluster_status_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_cluster_status_get_counter.get({mock_instance}));
}
@@ -2829,16 +2914,17 @@ TEST(RpcKvBvarTest, GetCurrentMaxTxnId) {
max_txn_id_req.set_cloud_unique_id(cloud_unique_id);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->get_current_max_txn_id(
reinterpret_cast<::google::protobuf::RpcController*>(&max_txn_id_cntl),
&max_txn_id_req,
&max_txn_id_res, nullptr);
LOG(INFO) << "GetCurrentMaxTxnId: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
+
g_bvar_rpc_kv_get_current_max_txn_id_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_get_current_max_txn_id_get_counter.get({mock_instance}));
}
@@ -2894,15 +2980,17 @@ TEST(RpcKvBvarTest, BeginSubTxn) {
req.mutable_table_ids()->Add(t2);
BeginSubTxnResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->begin_sub_txn(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&req,
&res, nullptr);
LOG(INFO) << "BeginSubTxn: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_begin_sub_txn_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_begin_sub_txn_put_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->del_bytes_,
g_bvar_rpc_kv_begin_sub_txn_del_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_begin_sub_txn_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_begin_sub_txn_put_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->del_count_,
g_bvar_rpc_kv_begin_sub_txn_del_counter.get({mock_instance}));
@@ -2973,15 +3061,16 @@ TEST(RpcKvBvarTest, AbortSubTxn) {
req.mutable_table_ids()->Add(t2);
AbortSubTxnResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->abort_sub_txn(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&req,
&res, nullptr);
LOG(INFO) << "AbortSubTxn: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_abort_sub_txn_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_abort_sub_txn_put_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_abort_sub_txn_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_abort_sub_txn_put_counter.get({mock_instance}));
}
@@ -3033,16 +3122,17 @@ TEST(RpcKvBvarTest, AbortTxnWithCoordinator) {
abort_txn_req.set_ip(host);
abort_txn_req.set_start_time(cur_time + 3600);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->abort_txn_with_coordinator(
reinterpret_cast<::google::protobuf::RpcController*>(&begin_txn_cntl),
&abort_txn_req,
&abort_txn_resp, nullptr);
LOG(INFO) << "AbortTxnWithCoordinator: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_
- << ", " << mem_kv->del_count_;
+ << ", " << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ <<
", "
+ << mem_kv->put_bytes_ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
+
g_bvar_rpc_kv_abort_txn_with_coordinator_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_abort_txn_with_coordinator_get_counter.get({mock_instance}));
}
@@ -3085,16 +3175,16 @@ TEST(RpcKvBvarTest, CheckTxnConflict) {
check_txn_conflict_req.set_end_txn_id(txn_id + 1);
check_txn_conflict_req.add_table_ids(table_id);
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->check_txn_conflict(
reinterpret_cast<::google::protobuf::RpcController*>(&begin_txn_cntl),
&check_txn_conflict_req, &check_txn_conflict_res, nullptr);
LOG(INFO) << "CheckTxnConflict: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_check_txn_conflict_get_bytes.get({mock_instance}));
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_check_txn_conflict_get_counter.get({mock_instance}));
}
@@ -3125,17 +3215,19 @@ TEST(RpcKvBvarTest, CleanTxnLabel) {
req.add_labels(label);
CleanTxnLabelResponse res;
- mem_kv->get_count_ = 0;
- mem_kv->put_count_ = 0;
- mem_kv->del_count_ = 0;
+ clear_memkv_count_bytes(mem_kv.get());
meta_service->clean_txn_label(reinterpret_cast<::google::protobuf::RpcController*>(&cntl),
&req,
&res, nullptr);
LOG(INFO) << "CleanTxnLabel: " << mem_kv->get_count_ << ", " <<
mem_kv->put_count_ << ", "
- << mem_kv->del_count_;
+ << mem_kv->del_count_ << ", " << mem_kv->get_bytes_ << ", " <<
mem_kv->put_bytes_
+ << ", " << mem_kv->del_bytes_;
ASSERT_EQ(mem_kv->get_count_,
g_bvar_rpc_kv_clean_txn_label_get_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->put_count_,
g_bvar_rpc_kv_clean_txn_label_put_counter.get({mock_instance}));
ASSERT_EQ(mem_kv->del_count_,
g_bvar_rpc_kv_clean_txn_label_del_counter.get({mock_instance}));
+ ASSERT_EQ(mem_kv->get_bytes_,
g_bvar_rpc_kv_clean_txn_label_get_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->put_bytes_,
g_bvar_rpc_kv_clean_txn_label_put_bytes.get({mock_instance}));
+ ASSERT_EQ(mem_kv->del_bytes_,
g_bvar_rpc_kv_clean_txn_label_del_bytes.get({mock_instance}));
}
} // namespace doris::cloud
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]