[
https://issues.apache.org/jira/browse/DRILL-6255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16467923#comment-16467923
]
Sorabh Hamirwasia commented on DRILL-6255:
------------------------------------------
Earlier solution to submit control message doesn't look complete since it was
taking care of handling Fragment initialization and status update message from
remote fragment only. Other message like UnpauseFragment, CancelFragment, etc
was not taken care of. With the current solution all the control channel
messages will be taken care to submit it locally rather than over a network
channel. A new LocalControlConnectionManager is created for this which is
accessed inside ControlTunnel. When a tunnel is created for a Drillbit Endpoint
such that it's the local Drillbit then internally it just bypasses the
connection creation process and instead submits the request and return the
response locally.
> Drillbit while sending control message to itself creates a connection instead
> of submitting locally
> ---------------------------------------------------------------------------------------------------
>
> Key: DRILL-6255
> URL: https://issues.apache.org/jira/browse/DRILL-6255
> Project: Apache Drill
> Issue Type: Bug
> Components: Execution - Flow
> Affects Versions: 1.12.0
> Reporter: Sorabh Hamirwasia
> Assignee: Sorabh Hamirwasia
> Priority: Major
> Fix For: 1.14.0
>
>
> With the new shutdown feature introduced in 1.12, there is a state introduced
> in DrillbitEndpoint. Due to this the equality check happening
> [here|https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/FragmentsRunner.java#L256]
> will result in false and hence the fragments supposed to be scheduled on
> Foreman will be treated as remote fragments and a connection will be created
> to schedule it. The equality check is false because localEndpoint state is
> STARTUP whereas state in assigned Drillbit is ONLINE.
> I guess now we should update the equality check to verify just for address
> and control port to be same between assigned and local Drillbit endpoint. A
> test can be added for this based on _sys.memory_ table since that guarantees
> scheduling minor fragments on each Drillbit node.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)