Resolve issues with the sharded_map test
This commit is contained in:
parent
bbd3d352ee
commit
08fe7b09db
@ -104,10 +104,9 @@ class Coordinator {
|
||||
uint64_t highest_reserved_timestamp_;
|
||||
|
||||
/// Increment our
|
||||
ReadResponses Read(HlcRequest &&hlc_request) {
|
||||
HlcResponse res{};
|
||||
|
||||
ReadResponses Read(HlcRequest hlc_request) {
|
||||
std::cout << "HlcRequest->HlcResponse" << std::endl;
|
||||
HlcResponse res{};
|
||||
|
||||
auto hlc_shard_map = shard_map_.GetHlc();
|
||||
|
||||
@ -126,6 +125,8 @@ class Coordinator {
|
||||
}
|
||||
|
||||
GetShardMapResponse Read(GetShardMapRequest &&get_shard_map_request) {
|
||||
std::cout << "GetShardMapRequest" << std::endl;
|
||||
|
||||
GetShardMapResponse res;
|
||||
res.shard_map = shard_map_;
|
||||
return res;
|
||||
@ -178,7 +179,23 @@ class Coordinator {
|
||||
explicit Coordinator(ShardMap sm) : shard_map_{(sm)} {}
|
||||
|
||||
ReadResponses Read(ReadRequests requests) {
|
||||
return std::visit([&](auto &&requests) { return Read(requests); }, std::move(requests));
|
||||
if (std::get_if<HlcRequest>(&requests)) {
|
||||
std::cout << "HlcRequest" << std::endl;
|
||||
} else if (std::get_if<GetShardMapRequest>(&requests)) {
|
||||
std::cout << "GetShardMapRequest" << std::endl;
|
||||
} else {
|
||||
std::cout << "idk requests" << std::endl;
|
||||
}
|
||||
std::cout << "Coordinator Read()" << std::endl;
|
||||
auto ret = std::visit([&](auto requests) { return Read(requests); }, (requests));
|
||||
if (std::get_if<HlcResponse>(&ret)) {
|
||||
std::cout << "HlcResponse" << std::endl;
|
||||
} else if (std::get_if<GetShardMapResponse>(&ret)) {
|
||||
std::cout << "GetShardMapResponse" << std::endl;
|
||||
} else {
|
||||
std::cout << "idk response" << std::endl;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
WriteResponses Apply(WriteRequests requests) {
|
||||
|
@ -97,7 +97,15 @@ struct ShardMap {
|
||||
|
||||
Shards GetShardsForRange(Label label, CompoundKey start, CompoundKey end);
|
||||
|
||||
Shard GetShardForKey(Label label, CompoundKey key) { return shards.at(label).at(key); }
|
||||
Shard GetShardForKey(Label label, CompoundKey key) {
|
||||
// return shards.at(label).at(key);
|
||||
std::cout << "label" << std::endl;
|
||||
auto asd1 = shards.at(label);
|
||||
std::cout << "key" << std::endl;
|
||||
auto asd2 = asd1[key];
|
||||
|
||||
return asd2;
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace memgraph::coordinator
|
||||
|
@ -90,6 +90,7 @@ ShardMap CreateDummyShardmap(memgraph::coordinator::Address a_io_1, memgraph::co
|
||||
Shards shards2;
|
||||
shards2[cm2] = shard2;
|
||||
|
||||
shards[label1] = shards1;
|
||||
shards[label2] = shards2;
|
||||
|
||||
return sm1;
|
||||
@ -258,6 +259,11 @@ int main() {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!read_res_opt.value().success) {
|
||||
std::cout << "Not successful." << std::endl;
|
||||
continue;
|
||||
}
|
||||
|
||||
std::cout << "Before" << std::endl;
|
||||
auto read_res = read_res_opt.value();
|
||||
std::cout << "After" << std::endl;
|
||||
@ -276,7 +282,12 @@ int main() {
|
||||
client_shard_map = res.fresher_shard_map.value();
|
||||
std::cout << "After2" << std::endl;
|
||||
|
||||
auto target_shard = client_shard_map.GetShardForKey("label1", cm_k);
|
||||
// TODO(gabor) check somewhere in the call chain if the entries are actually valid
|
||||
for (auto &[key, val] : client_shard_map.GetShards()) {
|
||||
std::cout << "key: " << key << std::endl;
|
||||
}
|
||||
|
||||
auto target_shard = client_shard_map.GetShardForKey(std::string("label1"), cm_k);
|
||||
|
||||
// Determine which shard to send the requests to
|
||||
auto storage_client_opt = DetermineShardLocation(target_shard, a_addrs, shard_a_client, b_addrs, shard_b_client);
|
||||
|
@ -87,6 +87,7 @@ class RsmClient {
|
||||
read_req.operation = req;
|
||||
|
||||
std::cout << "client sending GetRequest to Leader " << leader_.last_known_port << std::endl;
|
||||
|
||||
ResponseFuture<ReadResponse<ReadResponseT>> get_response_future =
|
||||
io_.template Request<ReadRequest<ReadRequestT>, ReadResponse<ReadResponseT>>(leader_, read_req);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user