diff options
author | Timothy Farkas <timothyfarkas@apache.org> | 2018-02-08 15:25:59 -0800 |
---|---|---|
committer | Vitalii Diravka <vitalii.diravka@gmail.com> | 2018-02-16 20:15:57 +0000 |
commit | 3314905987ee6d28c89cc5cfd8c7dbd6f36da41c (patch) | |
tree | ebdadcf8c8fc314ff127742cd24010ea285db288 /exec/java-exec/src/main/java/org/apache/drill/exec/work | |
parent | 5d4fbd1e65ec197780088889eec81e01d29f1167 (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.java | 5 |
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() |