[
https://issues.apache.org/jira/browse/DRILL-3449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16160229#comment-16160229
]
ASF GitHub Bot commented on DRILL-3449:
---------------------------------------
Github user vrozov commented on a diff in the pull request:
https://github.com/apache/drill/pull/934#discussion_r137941417
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/FragmentStatusReporter.java
---
@@ -113,4 +120,14 @@ void fail(final UserException ex) {
sendStatus(status);
}
+ @Override
+ public void close()
+ {
+ final ControlTunnel tunnel = this.tunnel.getAndSet(null);
+ if (tunnel != null) {
+ logger.debug("Closing {}", this);
--- End diff --
No, close() is not a placeholder. It closes FragmentStatusReporter and
after the close, request to send status becomes no-op.
> When Foreman node dies, the FragmentExecutor still tries to send status
> updates to Foreman
> ------------------------------------------------------------------------------------------
>
> Key: DRILL-3449
> URL: https://issues.apache.org/jira/browse/DRILL-3449
> Project: Apache Drill
> Issue Type: Bug
> Components: Execution - Flow
> Reporter: Sudheesh Katkam
> Assignee: Vlad Rozov
> Priority: Minor
>
> FragmentExecutor.FragmentDrillbitStatusListener discovers that the Foreman
> died and cancels the fragment which tries to update the Foreman with new
> CANCELLATION_REQUESTED status. This fails at RPC level. However, this error
> is not logged nor is it thrown. This just silently happens.
> + The fragment moves to CANCELED state, which is also reported to the Foreman
> and this also fails.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)