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 Fri, 08 May 2015 20:36:19 GMT


> On May 8, 2015, 6:36 p.m., Chris Westin wrote:
> > exec/java-exec/src/main/java/org/apache/drill/exec/testing/ExecutionControls.java,
line 62
> > <https://reviews.apache.org/r/33770/diff/1-2/?file=947638#file947638line62>
> >
> >     An abstract class without any methods? What's that about?

So instances are not created. It's an annotated class that is used only by Jackson's ObjectMapper
to allow a list of injections to hold various types of injections (pause, latch, exception).


> On May 8, 2015, 6:36 p.m., Chris Westin wrote:
> > exec/java-exec/src/main/java/org/apache/drill/exec/ops/OperatorContextImpl.java,
line 40
> > <https://reviews.apache.org/r/33770/diff/2/?file=953183#file953183line40>
> >
> >     Can we make this constructor call the other one?

Not as part of this patch, how the allcator is assigned needs to be changed.


> On May 8, 2015, 6:36 p.m., Chris Westin wrote:
> > exec/java-exec/src/main/java/org/apache/drill/exec/testing/CountDownLatchInjectionImpl.java,
line 61
> > <https://reviews.apache.org/r/33770/diff/2/?file=953191#file953191line61>
> >
> >     We really don't have to worry about anything here? Or should this wait (uninterruptibly)
in a loop. Please add comments explaining the rationale for doing nothing.
> >     
> >     See http://www.ibm.com/developerworks/library/j-jtp05236/

Depends on the use case. I'll add both methods, and also add InterruptedException to the signature
for await().


> On May 8, 2015, 6:36 p.m., Chris Westin wrote:
> > exec/java-exec/src/main/java/org/apache/drill/exec/testing/NoOpControlsInjector.java,
line 51
> > <https://reviews.apache.org/r/33770/diff/2/?file=953195#file953195line51>
> >
> >     Since this is inside the NoOpControlsInjector class, you can use a shorter name,
such as INJECTOR, or something like that, because the references will already be NoOpControlsInjector.INJECTOR.
> >     
> >     Also, is there any reason to make the instance public, since it is returned
by getLatch()? Does anyone else need to get their hands on it?

Yes, in ExecutionControls#lookupCountDownLatchInjection. When there is no injection found,
we return a latch that does nothing so that code does not throw NPE.


> On May 8, 2015, 6:36 p.m., Chris Westin wrote:
> > exec/java-exec/src/test/java/org/apache/drill/exec/testing/TestCountDownLatchInjection.java,
line 109
> > <https://reviews.apache.org/r/33770/diff/2/?file=953208#file953208line109>
> >
> >     Do we really have stuff that spawns threads like this? I thought most everything
submitted Runnables to an executor service, which is slightly different. I don't think it
affects anything here, but you might mention it in a comment re how this test works.

Yes, in PartitionSender.


- Sudheesh


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


On May 8, 2015, 5:56 p.m., Sudheesh Katkam wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/33770/
> -----------------------------------------------------------
> 
> (Updated May 8, 2015, 5:56 p.m.)
> 
> 
> Review request for drill, Chris Westin, Jacques Nadeau, and Venki Korukanti.
> 
> 
> Repository: drill-git
> 
> 
> Description
> -------
> 
> [DRILL-2697](https://issues.apache.org/jira/browse/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.
> 
> + Better error messages and more tests in TestDrillbitResilience and TestPauseInjection
> + Added execution controls to operator context
> + Removed ControlMessageHandler interface, renamed ControlHandlerImpl to ControlMessageHandler
> + Added CountDownLatchInjection, useful in cases like ParititionedSender that spawns
multiple threads
> 
> 
> Diffs
> -----
> 
>   exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java 5b28f16

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

>   exec/java-exec/src/main/java/org/apache/drill/exec/ops/OperatorContextImpl.java 6dbd880

>   exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/ScreenCreator.java
5b4d7bd 
>   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
cf98b83 
>   exec/java-exec/src/main/java/org/apache/drill/exec/testing/CountDownLatchInjection.java
PRE-CREATION 
>   exec/java-exec/src/main/java/org/apache/drill/exec/testing/CountDownLatchInjectionImpl.java
PRE-CREATION 
>   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/ExecutionControlsInjector.java
4b1cd0c 
>   exec/java-exec/src/main/java/org/apache/drill/exec/testing/Injection.java 96fed3a 
>   exec/java-exec/src/main/java/org/apache/drill/exec/testing/NoOpControlsInjector.java
80d9790 
>   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 49d0c94

>   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
ddb828c 
>   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
da69e9e 
>   exec/java-exec/src/test/java/org/apache/drill/exec/testing/TestCountDownLatchInjection.java
PRE-CREATION 
>   exec/java-exec/src/test/java/org/apache/drill/exec/testing/TestPauseInjection.java
5fa2b3f 
>   protocol/src/main/java/org/apache/drill/exec/proto/BitControl.java 470e976 
>   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 93bc33c 
>   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