未验证 提交 9c853d1d 编写于 作者: H Huang Zhengjie 提交者: GitHub

[Bug fixes] fix distributed graph engine (#51956)

* fix distributed graph engine
上级 227245d3
...@@ -51,7 +51,7 @@ int GraphBrpcClient::get_server_index_by_id(int64_t id) { ...@@ -51,7 +51,7 @@ int GraphBrpcClient::get_server_index_by_id(int64_t id) {
int shard_per_server = shard_num % server_size == 0 int shard_per_server = shard_num % server_size == 0
? shard_num / server_size ? shard_num / server_size
: shard_num / server_size + 1; : shard_num / server_size + 1;
return id % shard_num / shard_per_server; return static_cast<uint64_t>(id) % shard_num / shard_per_server;
} }
std::future<int32_t> GraphBrpcClient::get_node_feat( std::future<int32_t> GraphBrpcClient::get_node_feat(
......
...@@ -144,7 +144,7 @@ int32_t GraphBrpcService::add_graph_node(Table *table, ...@@ -144,7 +144,7 @@ int32_t GraphBrpcService::add_graph_node(Table *table,
return 0; return 0;
} }
int idx_ = std::stoi(request.params(0).c_str()); int idx_ = *reinterpret_cast<const int *>(request.params(0).c_str());
size_t node_num = request.params(1).size() / sizeof(int64_t); size_t node_num = request.params(1).size() / sizeof(int64_t);
const uint64_t *node_data = const uint64_t *node_data =
reinterpret_cast<const uint64_t *>(request.params(1).c_str()); reinterpret_cast<const uint64_t *>(request.params(1).c_str());
...@@ -181,7 +181,7 @@ int32_t GraphBrpcService::remove_graph_node(Table *table, ...@@ -181,7 +181,7 @@ int32_t GraphBrpcService::remove_graph_node(Table *table,
"remove_graph_node request requires at least 2 arguments"); "remove_graph_node request requires at least 2 arguments");
return 0; return 0;
} }
int idx_ = std::stoi(request.params(0).c_str()); int idx_ = *reinterpret_cast<const int *>(request.params(0).c_str());
size_t node_num = request.params(1).size() / sizeof(uint64_t); size_t node_num = request.params(1).size() / sizeof(uint64_t);
const uint64_t *node_data = const uint64_t *node_data =
reinterpret_cast<const uint64_t *>(request.params(1).c_str()); reinterpret_cast<const uint64_t *>(request.params(1).c_str());
...@@ -408,7 +408,7 @@ int32_t GraphBrpcService::graph_random_sample_neighbors( ...@@ -408,7 +408,7 @@ int32_t GraphBrpcService::graph_random_sample_neighbors(
"graph_random_sample_neighbors request requires at least 3 arguments"); "graph_random_sample_neighbors request requires at least 3 arguments");
return 0; return 0;
} }
int idx_ = std::stoi(request.params(0).c_str()); int idx_ = *reinterpret_cast<const int *>(request.params(0).c_str());
size_t node_num = request.params(1).size() / sizeof(uint64_t); size_t node_num = request.params(1).size() / sizeof(uint64_t);
uint64_t *node_data = (uint64_t *)(request.params(1).c_str()); // NOLINT uint64_t *node_data = (uint64_t *)(request.params(1).c_str()); // NOLINT
const int sample_size = const int sample_size =
...@@ -464,7 +464,7 @@ int32_t GraphBrpcService::graph_get_node_feat(Table *table, ...@@ -464,7 +464,7 @@ int32_t GraphBrpcService::graph_get_node_feat(Table *table,
"graph_get_node_feat request requires at least 3 arguments"); "graph_get_node_feat request requires at least 3 arguments");
return 0; return 0;
} }
int idx_ = std::stoi(request.params(0).c_str()); int idx_ = *reinterpret_cast<const int *>(request.params(0).c_str());
size_t node_num = request.params(1).size() / sizeof(uint64_t); size_t node_num = request.params(1).size() / sizeof(uint64_t);
const uint64_t *node_data = const uint64_t *node_data =
reinterpret_cast<const uint64_t *>(request.params(1).c_str()); reinterpret_cast<const uint64_t *>(request.params(1).c_str());
...@@ -505,12 +505,12 @@ int32_t GraphBrpcService::sample_neighbors_across_multi_servers( ...@@ -505,12 +505,12 @@ int32_t GraphBrpcService::sample_neighbors_across_multi_servers(
return 0; return 0;
} }
int idx_ = std::stoi(request.params(0).c_str()); int idx_ = *reinterpret_cast<const int *>(request.params(0).c_str());
size_t node_num = request.params(1).size() / sizeof(uint64_t); size_t node_num = request.params(1).size() / sizeof(uint64_t);
const uint64_t *node_data = const uint64_t *node_data =
reinterpret_cast<const uint64_t *>(request.params(1).c_str()); reinterpret_cast<const uint64_t *>(request.params(1).c_str());
int sample_size = std::stoi(request.params(2).c_str()); int sample_size = *reinterpret_cast<const int *>(request.params(2).c_str());
bool need_weight = std::stoi(request.params(3).c_str()); bool need_weight = *reinterpret_cast<const bool *>(request.params(3).c_str());
std::vector<int> request2server; std::vector<int> request2server;
std::vector<int> server2request(server_size, -1); std::vector<int> server2request(server_size, -1);
...@@ -671,7 +671,7 @@ int32_t GraphBrpcService::graph_set_node_feat(Table *table, ...@@ -671,7 +671,7 @@ int32_t GraphBrpcService::graph_set_node_feat(Table *table,
"graph_set_node_feat request requires at least 3 arguments"); "graph_set_node_feat request requires at least 3 arguments");
return 0; return 0;
} }
int idx_ = std::stoi(request.params(0).c_str()); int idx_ = *reinterpret_cast<const int *>(request.params(0).c_str());
size_t node_num = request.params(1).size() / sizeof(uint64_t); size_t node_num = request.params(1).size() / sizeof(uint64_t);
const uint64_t *node_data = const uint64_t *node_data =
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册