Fix bug with polling redirected requests
This commit is contained in:
parent
ca3f748325
commit
747b8a21cd
@ -45,6 +45,7 @@
|
||||
#include "utils/result.hpp"
|
||||
|
||||
namespace memgraph::query::v2 {
|
||||
|
||||
template <typename TStorageClient>
|
||||
class RsmStorageClientManager {
|
||||
public:
|
||||
@ -608,7 +609,12 @@ class RequestRouter : public RequestRouterInterface {
|
||||
auto &request = running_requests.at(ready.GetId());
|
||||
auto &storage_client = GetStorageClientForShard(request.shard);
|
||||
|
||||
auto poll_result = storage_client.PollAsyncReadRequest(ready);
|
||||
std::optional<utils::BasicResult<io::TimedOut, msgs::ReadResponses>> poll_result =
|
||||
storage_client.PollAsyncReadRequest(ready);
|
||||
|
||||
if (!poll_result.has_value()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (poll_result->HasError()) {
|
||||
throw std::runtime_error("RequestRouter Read request timed out");
|
||||
@ -649,7 +655,12 @@ class RequestRouter : public RequestRouterInterface {
|
||||
auto &request = running_requests.at(ready.GetId());
|
||||
auto &storage_client = GetStorageClientForShard(request.shard);
|
||||
|
||||
auto poll_result = storage_client.PollAsyncWriteRequest(ready);
|
||||
std::optional<utils::BasicResult<io::TimedOut, msgs::WriteResponses>> poll_result =
|
||||
storage_client.PollAsyncWriteRequest(ready);
|
||||
|
||||
if (!poll_result.has_value()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (poll_result->HasError()) {
|
||||
throw std::runtime_error("RequestRouter Write request timed out");
|
||||
|
@ -611,7 +611,7 @@ msgs::ReadResponses ShardRsm::HandleRead(msgs::GetPropertiesRequest &&req) {
|
||||
return limit;
|
||||
};
|
||||
|
||||
auto collect_response = [get_limit, &req](auto &elements, auto create_result_row) {
|
||||
auto collect_response = [get_limit, &req](auto &elements, auto create_result_row) -> msgs::ReadResponses {
|
||||
msgs::GetPropertiesResponse response;
|
||||
const auto limit = get_limit(elements);
|
||||
for (size_t index = 0; index != limit; ++index) {
|
||||
|
@ -18,6 +18,8 @@
|
||||
#include <thread>
|
||||
#include <vector>
|
||||
|
||||
#include <spdlog/cfg/env.h>
|
||||
|
||||
#include "common.hpp"
|
||||
#include "common/types.hpp"
|
||||
#include "coordinator/coordinator_client.hpp"
|
||||
@ -370,4 +372,7 @@ void DoTest() {
|
||||
}
|
||||
} // namespace memgraph::query::v2::tests
|
||||
|
||||
int main() { memgraph::query::v2::tests::DoTest(); }
|
||||
int main() {
|
||||
spdlog::cfg::load_env_levels();
|
||||
memgraph::query::v2::tests::DoTest();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user