> On May 13, 2015, 8:09 p.m., Chris Westin wrote: > > exec/java-exec/src/test/java/org/apache/drill/TestAllocationException.java, > > line 53 > > <https://reviews.apache.org/r/34173/diff/2/?file=958274#file958274line53> > > > > I might parameterize the nSkip value, so that these queries could be > > tested with this exception being thrown in different places. > > > > For example, we might define a fixed set of numbers like > > > > final int nSkips[] = {200, 250, 300, 375}; > > > > testWithException takes a single number as an additional argument. > > > > testWithExeptions might take an array, and call testWithException in a > > loop with each of the values. > > > > Then we could test each query with failures at different locations. As > > above, these might be useful in BaseTestQuery, but if that's too hard for > > now, just do it here.
Tried doing that, but then we'll need to collect the errors and only fail the test at the end, otherwise the test won't go through all nSkip values. I decided to make the test class smaller, so it can serve as an example of how this exception should be injected. We can later extend the tests to track allocation failures that are not handled correctly - abdelhakim ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/34173/#review83655 ----------------------------------------------------------- On May 13, 2015, 9:07 p.m., abdelhakim deneche wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/34173/ > ----------------------------------------------------------- > > (Updated May 13, 2015, 9:07 p.m.) > > > Review request for drill, Chris Westin and Jacques Nadeau. > > > Bugs: DRILL-3053 > https://issues.apache.org/jira/browse/DRILL-3053 > > > Repository: drill-git > > > Description > ------- > > added an unchecked injection site in ChildAllocator.buffer(int, int). It's > only enabled when assertions are enabled. > You can throw any unchecked or Error exception, but if you throw a > NullPointerException the buffer() method will just return "null" without > throwing any exception to simulate a "normal" allocation failure > > > Diffs > ----- > > > common/src/main/java/org/apache/drill/common/exceptions/DrillRuntimeException.java > abc7065 > common/src/main/java/org/apache/drill/common/exceptions/UserException.java > a67cb3f > > exec/java-exec/src/main/java/org/apache/drill/exec/memory/TopLevelAllocator.java > 9670c7e > > exec/java-exec/src/main/java/org/apache/drill/exec/testing/ExecutionControlsInjector.java > 387d300 > exec/java-exec/src/test/java/org/apache/drill/TestAllocationException.java > PRE-CREATION > > Diff: https://reviews.apache.org/r/34173/diff/ > > > Testing > ------- > > pending results from unit tests / cluster > > > Thanks, > > abdelhakim deneche > >
