drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sudheesh Katkam" <skat...@maprtech.com>
Subject Re: Review Request 33770: DRILL-2697 Pause injections should pause indefinitely until signalled
Date Tue, 05 May 2015 23:15:54 GMT


> On May 5, 2015, 9:31 p.m., Chris Westin wrote:
> > exec/java-exec/src/main/java/org/apache/drill/exec/testing/PauseInjection.java,
line 58
> > <https://reviews.apache.org/r/33770/diff/1/?file=947639#file947639line58>
> >
> >     I'm not sure about this waiting uninterruptibly. We're going to start using
Thread.interrupt() to regain control of threads that are blocked waiting on queues or sockets
if the fragment they are running on behalf of is cancelled. Seems like this should be handled
in the same way. I can talk to you about that more, and Venki can tell you about what he's
doing in this area.

This should not be a problem since this feature is used for testing (in a controlled environment).
I feel it will in fact expose bugs; if not, we can remove this in the future.


> On May 5, 2015, 9:31 p.m., Chris Westin wrote:
> > exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/FragmentExecutor.java,
line 142
> > <https://reviews.apache.org/r/33770/diff/1/?file=947645#file947645line142>
> >
> >     Does this mean that I can't have multiple pauses in the execution thread that
will all work for a single query? For example, suppose I inject two pauses at different phases
of execution: one just after planning and remote fragments are set up, and another after the
first batch of results are returned. Will they both work, or will only the first one work?

Yes, you can't. They will both be unpaused.

I will re-submit a patch with client that unpauses a list of pause sites.


- Sudheesh


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


On May 2, 2015, 1:09 a.m., Sudheesh Katkam wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/33770/
> -----------------------------------------------------------
> 
> (Updated May 2, 2015, 1:09 a.m.)
> 
> 
> Review request for drill, Chris Westin and Jacques Nadeau.
> 
> 
> Repository: drill-git
> 
> 
> Description
> -------
> 
> DRILL-2697: Pauses sites wait indefinitely for a resume signal
> DrillClient sends a resume signal to UserServer. UserServer triggers a resume call in
the correct Foreman. Foreman resumes all pauses related to the query through the Control layer.
> 
> + Fix for bug in FragmentExecutor#closeOutResources
> + Better error messages and more tests in TestDrillbitResilience and TestPauseInjection
> + Added execution controls to operator context
> + Removed ControlMessageHandler interface, renamed ControlHandlerImpl to ControlMessageHandler
> 
> 
> Diffs
> -----
> 
>   exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java ae0f580

>   exec/java-exec/src/main/java/org/apache/drill/exec/ops/OperatorContext.java ccafa67

>   exec/java-exec/src/main/java/org/apache/drill/exec/rpc/control/ControlRpcConfig.java
37730e3 
>   exec/java-exec/src/main/java/org/apache/drill/exec/rpc/control/ControlTunnel.java a4f9fdf

>   exec/java-exec/src/main/java/org/apache/drill/exec/rpc/user/UserRpcConfig.java 88592d4

>   exec/java-exec/src/main/java/org/apache/drill/exec/rpc/user/UserServer.java 9e929de

>   exec/java-exec/src/main/java/org/apache/drill/exec/store/pojo/PojoRecordReader.java
b7ffbf0 
>   exec/java-exec/src/main/java/org/apache/drill/exec/testing/ExecutionControls.java 1171bf8

>   exec/java-exec/src/main/java/org/apache/drill/exec/testing/PauseInjection.java e5f9c9c

>   exec/java-exec/src/main/java/org/apache/drill/exec/work/WorkManager.java a3ceb8f 
>   exec/java-exec/src/main/java/org/apache/drill/exec/work/batch/ControlHandlerImpl.java
b6c6852 
>   exec/java-exec/src/main/java/org/apache/drill/exec/work/batch/ControlMessageHandler.java
c5d78cc 
>   exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/Foreman.java edbcfde

>   exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java 34fa639

>   exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/FragmentExecutor.java
0783fee 
>   exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/FragmentManager.java
0ba91b4 
>   exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/NonRootFragmentManager.java
f526fbe 
>   exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/RootFragmentManager.java
b1c3fe0 
>   exec/java-exec/src/main/java/org/apache/drill/exec/work/user/UserWorker.java 8854ef3

>   exec/java-exec/src/test/java/org/apache/drill/exec/server/TestDrillbitResilience.java
2698701 
>   exec/java-exec/src/test/java/org/apache/drill/exec/testing/TestPauseInjection.java
508b10c 
>   protocol/src/main/java/org/apache/drill/exec/proto/BitControl.java 813d961 
>   protocol/src/main/java/org/apache/drill/exec/proto/UserProtos.java c072a47 
>   protocol/src/main/java/org/apache/drill/exec/proto/beans/RpcType.java 4d03073 
>   protocol/src/main/protobuf/BitControl.proto 0424725 
>   protocol/src/main/protobuf/User.proto 59e22ae 
> 
> Diff: https://reviews.apache.org/r/33770/diff/
> 
> 
> Testing
> -------
> 
> Passes all unit tests.
> 
> 
> Thanks,
> 
> Sudheesh Katkam
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message