Skip to content
Snippets Groups Projects
Commit a818f795 authored by Carsten Patzke's avatar Carsten Patzke
Browse files

[Fabric] Shorten the time it takes for RecvAny to fail when no data is coming

parent 86bdba7c
No related branches found
No related tags found
No related merge requests found
......@@ -281,8 +281,11 @@ bool FabricContextImpl::TargetIsAliveCheck(FabricAddress address) {
void FabricContextImpl::InternalWait(FabricAddress targetAddress, FabricWaitableTask* task, Error* error) {
// Try to fail fast when no target is set (used by e.g. RecvAny)
auto timeoutMs = targetAddress == FI_ASAPO_ADDR_NO_ALIVE_CHECK ? requestFastTimeoutMs_ : requestTimeoutMs_;
// Check if we simply can wait for our task
task->Wait(requestTimeoutMs_, error);
task->Wait(timeoutMs, error);
if (*error == IOErrorTemplates::kTimeout) {
if (targetAddress == FI_ASAPO_ADDR_NO_ALIVE_CHECK) {
......
......@@ -60,6 +60,7 @@ class FabricContextImpl : public FabricContext {
uint64_t requestEnqueueTimeoutMs_ = 10000; // 10 sec for queuing a task
uint64_t requestTimeoutMs_ = 20000; // 20 sec to complete a task, otherwise a ping will be send
uint64_t requestFastTimeoutMs_ = 7000; // All task that dont have use keepalive check will try to fail fast
uint32_t maxTimeoutRetires_ = 5; // Timeout retires, if one of them fails, the task will fail with a timeout
std::unique_ptr<std::thread> completion_thread_;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment