[
https://issues.apache.org/jira/browse/DRILL-3449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16160223#comment-16160223
]
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_r137941124
--- 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 --
We are closing FragmentStatusReporter, not the `tunnel` that it references.
The ControlTunnel is not Closable even though it has a reference to a resource
that is Closable and should provide a way to release the resource it holds.
Please let me know if a comment is required here, but I do plan to make
ControlTunnel Closable. As it requires code refactoring not directly related to
the JIRA/PR, I plan to do this in a separate PR.
> 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)