[ 
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)

Reply via email to