drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-4676) Foreman.moveToState can block forever if called by the foreman thread while the query is still being setup
Date Mon, 16 May 2016 23:16:12 GMT

    [ https://issues.apache.org/jira/browse/DRILL-4676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15285619#comment-15285619
] 

ASF GitHub Bot commented on DRILL-4676:
---------------------------------------

Github user sudheeshkatkam commented on a diff in the pull request:

    https://github.com/apache/drill/pull/503#discussion_r63442039
  
    --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/Foreman.java
---
    @@ -296,7 +295,7 @@ public void run() {
            * would wait on the cancelling thread to signal a resume and the cancelling thread
would wait on the Foreman
            * to accept events.
            */
    -      acceptExternalEvents.countDown();
    +      stateSwitch.start();
    --- End diff --
    
    This defers all state transitions until the thread is done. This changes the behavior
when queuing is enabled, the user will not know if the query has moved from ENQUEUED to STARTING.


> Foreman.moveToState can block forever if called by the foreman thread while the query
is still being setup
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-4676
>                 URL: https://issues.apache.org/jira/browse/DRILL-4676
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Flow
>    Affects Versions: 1.6.0
>            Reporter: Deneche A. Hakim
>            Assignee: Sudheesh Katkam
>             Fix For: 1.7.0
>
>
> When the query is being setup, foreman has a special CountDownLatch that blocks rpc threads
from delivering external events, this latch is unblocked at the end of the query setup.
> In some cases though, when the foreman is submitting remote fragments, a failure in RpcBus.send()
causes an exception to be thrown that is reported to 
> Foreman.FragmentSubmitListener and blocks in the CountDownLatch. This causes the foreman
thread to block forever, and can rpc threads to be blocked too.
> This seems to happen more frequently at a high concurrency load, and also can prevent
clients from connecting to the Drillbits.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message