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

(Updated April 15, 2015, 7 p.m.)


Review request for drill, abdelhakim deneche, Chris Westin, and Steven Phillips.


Changes
-------

Actually update patch


Repository: drill-git


Description
-------

DRILL-2762: Update Fragment state reporting and error collection

DeferredException
- Add new throwAndClear operation on to allow checking for exceptions preClose 
in FragmentContext
- Add new getAndClear operation

BufferManager
- Ensure close() can be called multiple times by clearing managed buffer list 
on close().

FragmentContext/FragmentExecutor
- Update FragmentContext to have a preClose so that we can check closure state 
before doing final close.
- Update so that there is only a single state maintained between 
FragmentContext and FragmentExecutor
- Clean up FragmentExecutor run() method to better manage error states and have 
only single terminal point (avoiding multiple messages to Foreman).
- Add new CANCELLATION_REQUESTED state for FragmentState.
- Move all users of isCancelled or isFailed in main code to use shouldContinue()
- Update receivingFragmentFinished message to not cancel fragment (only inform 
root operator of cancellation)

WorkManager Updates
- Add new afterExecute command to the WorkManager ExecutorService so that we 
get log entries if a thread leaks an exception. (Otherwise logs don't show 
these exceptions and they only go to standard out.)

Foreman/QueryManager
- Extract listenable interfaces into anonymous inner classes from body of 
Foreman

QueryManager
- Update QueryManager to track completed nodes rather than completed fragments 
using NodeTracker
- Update DrillbitStatusListener to decrement expected completion messages on 
Nodes that have died to avoid query hang when a node dies

FragmentData/MinorFragmentProfile
- Add ability to track last status update as well as last time fragment made 
progress

AbstractRecordBatch
- Update awareness of current cancellation state to avoid cancellation delays

Misc. Other changes
- Move ByteCode optimization code to only record assembly and code as trace 
messages
- Update SimpleRootExec to create fake ExecutorState to make existing tests 
work.
- Update sort to exit prematurely in the case that the fragment was asked to 
cancel.
- Add finals to all edited files.
- Modify control handler and FragmentManager to directly support 
receivingFragmentFinished


Diffs (updated)
-----

  common/src/main/java/org/apache/drill/common/DeferredException.java 99f18f1 
  exec/java-exec/src/main/java/org/apache/drill/exec/compile/AsmUtil.java 
81904df 
  
exec/java-exec/src/main/java/org/apache/drill/exec/compile/bytecode/InstructionModifier.java
 6c0292e 
  
exec/java-exec/src/main/java/org/apache/drill/exec/compile/bytecode/ScalarReplacementNode.java
 6e981bc 
  exec/java-exec/src/main/java/org/apache/drill/exec/ops/BufferManager.java 
2d22d84 
  exec/java-exec/src/main/java/org/apache/drill/exec/ops/FragmentContext.java 
da2229c 
  
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/BaseRootExec.java
 5b7ca66 
  
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/mergereceiver/MergingRecordBatch.java
 e230fd2 
  
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/producer/ProducerConsumerBatch.java
 c50cb8a 
  
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/project/ProjectRecordBatch.java
 4b317e0 
  
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/unorderedreceiver/UnorderedReceiverBatch.java
 389d668 
  
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/ExternalSortBatch.java
 a23780e 
  
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/MSortTemplate.java
 94bc3a3 
  
exec/java-exec/src/main/java/org/apache/drill/exec/proto/helper/QueryIdHelper.java
 1aadaa2 
  
exec/java-exec/src/main/java/org/apache/drill/exec/record/AbstractRecordBatch.java
 2bb29e5 
  exec/java-exec/src/main/java/org/apache/drill/exec/server/Drillbit.java 
c15bb7c 
  exec/java-exec/src/main/java/org/apache/drill/exec/work/WorkManager.java 
e2bcec3 
  
exec/java-exec/src/main/java/org/apache/drill/exec/work/batch/ControlHandlerImpl.java
 3a7123d 
  
exec/java-exec/src/main/java/org/apache/drill/exec/work/batch/UnlimitedRawBatchBuffer.java
 2430e64 
  exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/Foreman.java 
23ef0d3 
  
exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/FragmentData.java
 433ab26 
  
exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java
 8626d5b 
  
exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/AbstractStatusReporter.java
 1b0885d 
  
exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/FragmentExecutor.java
 a7e6c46 
  
exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/FragmentManager.java
 7a819c4 
  
exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/NonRootFragmentManager.java
 41e87cd 
  
exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/RootFragmentManager.java
 84071c3 
  
exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/StateTransitionException.java
 7155d43 
  
exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/StatusReporter.java
 26b5d68 
  
exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/SimpleRootExec.java
 933417e 
  protocol/src/main/java/org/apache/drill/exec/proto/SchemaUserBitShared.java 
f72d5e1 
  protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java 96a921b 
  protocol/src/main/java/org/apache/drill/exec/proto/beans/FragmentState.java 
ba536fc 
  
protocol/src/main/java/org/apache/drill/exec/proto/beans/MinorFragmentProfile.java
 5cd71f9 
  protocol/src/main/protobuf/UserBitShared.proto 2938114 

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


Testing
-------

Regression & Unit, more manual testing planned before final patch.


Thanks,

Jacques Nadeau

Reply via email to