You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by Venki Korukanti <ve...@gmail.com> on 2015/05/15 04:46:30 UTC

Review Request 34255: DRILL-3072: Root fragment status update consists of too many tasks

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/34255/
-----------------------------------------------------------

Review request for drill, abdelhakim deneche, Jacques Nadeau, and Sudheesh Katkam.


Repository: drill-git


Description
-------

Currently fragment status update consists of two paths:

1) Non root fragment: which send a RPC control message
2) Root fragment: directly tries to update the status in Foreman/QueryManager, which triggers cancelling the fragments (if the root fragment status is FAILED). As part of the cancelling, it cancels itself leaving an interrupt in thread cache. After cancelling the fragments, root fragment thread also tries to write the query profile, which consumes the interrupt raised in cancellation.

Issue here, root fragment does more than just state which includes cancelling itself. Until we fix the root fragment status update to be minimum, it is better to send the status through RPC control message than trying to update the state directly.


Diffs
-----

  exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/Foreman.java 6840cf3 
  exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java eed4e17 

Diff: https://reviews.apache.org/r/34255/diff/


Testing
-------

unittests + regressions


Thanks,

Venki Korukanti


Re: Review Request 34255: DRILL-3072: Root fragment status update consists of too many tasks

Posted by abdelhakim deneche <ad...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/34255/#review83889
-----------------------------------------------------------


+1 (non binding)

- abdelhakim deneche


On May 15, 2015, 2:46 a.m., Venki Korukanti wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/34255/
> -----------------------------------------------------------
> 
> (Updated May 15, 2015, 2:46 a.m.)
> 
> 
> Review request for drill, abdelhakim deneche, Jacques Nadeau, and Sudheesh Katkam.
> 
> 
> Repository: drill-git
> 
> 
> Description
> -------
> 
> Currently fragment status update consists of two paths:
> 
> 1) Non root fragment: which send a RPC control message
> 2) Root fragment: directly tries to update the status in Foreman/QueryManager, which triggers cancelling the fragments (if the root fragment status is FAILED). As part of the cancelling, it cancels itself leaving an interrupt in thread cache. After cancelling the fragments, root fragment thread also tries to write the query profile, which consumes the interrupt raised in cancellation.
> 
> Issue here, root fragment does more than just state which includes cancelling itself. Until we fix the root fragment status update to be minimum, it is better to send the status through RPC control message than trying to update the state directly.
> 
> 
> Diffs
> -----
> 
>   exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/Foreman.java 6840cf3 
>   exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java eed4e17 
> 
> Diff: https://reviews.apache.org/r/34255/diff/
> 
> 
> Testing
> -------
> 
> unittests + regressions
> 
> 
> Thanks,
> 
> Venki Korukanti
> 
>