drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chun Chang (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (DRILL-4676) Foreman.moveToState can block forever if called by the foreman thread while the query is still being setup
Date Fri, 03 Jun 2016 18:51:59 GMT

     [ https://issues.apache.org/jira/browse/DRILL-4676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Chun Chang closed DRILL-4676.
-----------------------------

manually verified fix. Ran a long planning query, but cancel (ctrl-c) before planning finishes.
Before fix, drill will not able to process new query. With fix, drill will happily continue
working.

{noformat}
0: jdbc:drill:schema=dfs.drillTestDir> SELECT DISTINCT dt FROM (
. . . . . . . . . . . . . . . . . . .> VALUES(CAST('1964-03-07' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2002-03-04' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1966-09-04' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1993-08-18' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1970-06-11' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1970-06-11' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1970-06-11' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1970-06-11' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1970-06-11' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1959-10-23' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1992-01-14' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1994-07-24' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1979-11-25' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1945-01-14' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1982-07-25' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1966-09-06' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1989-05-01' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1996-03-08' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1998-08-19' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2013-08-13' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2013-08-13' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2013-08-13' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2013-08-13' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2013-08-13' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2013-08-13' AS DATE)),
. . . . . . . . . . . . . . . . . . .> (CAST('1999-07-20' AS DATE)),
. . . . . . . . . . . . . . . . . . .>     (CAST('1962-07-03' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2011-08-17' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2011-05-16' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1946-05-08' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1994-02-13' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1978-08-09' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1978-08-09' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1978-08-09' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1978-08-09' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1958-02-06' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2012-06-11' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2012-06-11' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2012-06-11' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2012-06-11' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1998-03-26' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1996-11-04' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1953-09-25' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2003-06-17' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2003-06-17' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2003-06-17' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2003-06-17' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('2003-06-17' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1980-07-05' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1982-06-15' AS DATE)),
. . . . . . . . . . . . . . . . . . .>       (CAST('1951-05-16' AS DATE)))
. . . . . . . . . . . . . . . . . . .> tbl(dt);
Error: SQL statement execution canceled; ResultSet now closed. (state=,code=0)
0: jdbc:drill:schema=dfs.drillTestDir> select * from sys.version;
+----------+-------------------------------------------+----------------------------------------------------------------------------------------------------------+----------------------------+--------------+----------------------------+
| version  |                 commit_id                 |                                 
            commit_message                                              |        commit_time
        | build_email  |         build_time         |
+----------+-------------------------------------------+----------------------------------------------------------------------------------------------------------+----------------------------+--------------+----------------------------+
| 1.6.0    | e15ea8bceba9da4d4bb6ae5e3b6ae5abfe690dd6  | DRILL-4693:  Ensure final column
re-ordering is done if any select list expression is convert_fromjson.  | 27.05.2016 @ 23:40:19
UTC  | Unknown      | 28.05.2016 @ 00:48:48 UTC  |
+----------+-------------------------------------------+----------------------------------------------------------------------------------------------------------+----------------------------+--------------+----------------------------+
{noformat}

> 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: Deneche A. Hakim
>             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