impala-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Evo Eftimov" <>
Subject SendersBlockedTimer
Date Thu, 25 May 2017 15:31:36 GMT
What is the purpose of SendersBlockedTimer attribute in the EXCHANGE_NODE
section of the Coordinator Fragment - part of the PROFILE of SQL statement
executed by Impala


I have reviewed the Impala source code and know that the Exchange Node uses
a Blocking Queue as part of "Stream Manager" module which it instantiates 


In the specific context I am interested in, the Exchange Node returns the
row from a result set to a JDBC driver client. The result set is produced by
a simple full table scan only query of the type "select * from table"


The "Sender" Parallel Threads (presumably with the Exchange Node) publish
rows to the Blocking Queue also in the Exchange Node and the JDBC client
reads rows from the same queue via remote JDBC session / connection over
TCP/IP - is that a correct description of how the Exchange Node mediates
between JDBC client on the one hand and ImpalaD workers on the other? Btw
the Exchange Node is part of the Coordinator Node in terms of terminology -


My specific question is what is the purpose/meaning  of
SendersBlockedTimer - e.g. does it mean that the Sender Threads WITHIN the
Exchange Node have been in a blocked state for the time shown in the value
of the attribute. And if this is correct then does that mean that they have
been blocked because the JDBC Client couldn't not keep up with draining the
Blocking Queue during the aggregated time duration in SendersBlockedTimer?


View raw message