aboutsummaryrefslogtreecommitdiff
path: root/exec/java-exec/src/main/java/org/apache/drill/exec/work
diff options
context:
space:
mode:
authorTimothy Farkas <timothyfarkas@apache.org>2018-02-08 15:25:59 -0800
committerVitalii Diravka <vitalii.diravka@gmail.com>2018-02-16 20:15:57 +0000
commit3314905987ee6d28c89cc5cfd8c7dbd6f36da41c (patch)
treeebdadcf8c8fc314ff127742cd24010ea285db288 /exec/java-exec/src/main/java/org/apache/drill/exec/work
parent5d4fbd1e65ec197780088889eec81e01d29f1167 (diff)
DRILL-6143: Made FragmentsRunner's rpc timeout larger to reduce random failures and made it configurable as a SystemOption.
closes #1119
Diffstat (limited to 'exec/java-exec/src/main/java/org/apache/drill/exec/work')
-rw-r--r--exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/FragmentsRunner.java5
1 files changed, 2 insertions, 3 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/FragmentsRunner.java b/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/FragmentsRunner.java
index 2e5f2dd06..b6775765a 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/FragmentsRunner.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/FragmentsRunner.java
@@ -24,6 +24,7 @@ import io.netty.buffer.ByteBuf;
import org.apache.drill.common.concurrent.ExtendedLatch;
import org.apache.drill.common.exceptions.ExecutionSetupException;
import org.apache.drill.common.exceptions.UserException;
+import org.apache.drill.exec.ExecConstants;
import org.apache.drill.exec.ops.FragmentContextImpl;
import org.apache.drill.exec.physical.base.FragmentRoot;
import org.apache.drill.exec.proto.BitControl.InitializeFragments;
@@ -61,8 +62,6 @@ public class FragmentsRunner {
private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(FragmentsRunner.class);
private static final ControlsInjector injector = ControlsInjectorFactory.getInjector(FragmentsRunner.class);
- private static final long RPC_WAIT_IN_MSECS_PER_FRAGMENT = 5000;
-
private final WorkerBee bee;
private final UserClientConnection initiatingClient;
private final DrillbitContext drillbitContext;
@@ -278,7 +277,7 @@ public class FragmentsRunner {
sendRemoteFragments(ep, remoteFragmentMap.get(ep), endpointLatch, fragmentSubmitFailures);
}
- final long timeout = RPC_WAIT_IN_MSECS_PER_FRAGMENT * numIntFragments;
+ final long timeout = drillbitContext.getOptionManager().getLong(ExecConstants.FRAG_RUNNER_RPC_TIMEOUT) * numIntFragments;
if (numIntFragments > 0 && !endpointLatch.awaitUninterruptibly(timeout)) {
long numberRemaining = endpointLatch.getCount();
throw UserException.connectionError()