drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Venki Korukanti" <venki.koruka...@gmail.com>
Subject Review Request 34014: DRILL-2755: Use and handle InterruptedException during query processing
Date Sat, 09 May 2015 16:40:23 GMT

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

Review request for drill, Chris Westin and Jacques Nadeau.


Bugs: DRILL-2755
    https://issues.apache.org/jira/browse/DRILL-2755


Repository: drill-git


Description
-------

DRILL-2755: Use and handle InterruptedException during query processing.

    - Interrupt FragmentExecutor thread as part of FragmentExecutor.cancel()
    - Handle InterruptedException in ExternalSortBatch.newSV2(). If the fragment status says
      should not continue, then throw the InterruptedException to caller which returns IterOutcome.STOP
    - Add comments reg not handling of InterruptedException in SendingAccountor.waitForSendComplete()
    - Handle InterruptedException in OrderedPartitionRecordBatch.getPartitionVectors()
    - If interrupted in Thread.sleep calls and fragment status says should not run, then
      return IterOutcome.STOP downstream.
    - Interrupt partitioner threads if PartitionerRecordBatch is interrupted while waiting
for
      partitioner threads to complete.
    - Preserve interrupt status if not handled
    - Handle null RecordBatches returned by RawBatchBuffer.getNext() in MergingRecordBatch.buildSchema()
    - Change timeout in Foreman to be proportional to the number of intermediate fragments
sent instead
      of hard coded limit of 90s.
    - Change TimedRunnable to enforce a timeout of 15s per runnable.
      Total timeout is (5s * numOfRunnableTasks) / parallelism.


Diffs
-----

  pom.xml 8c9f09e 

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


Testing
-------

- Add unit tests
      * Testing cancelling a query interrupts the query fragments which are currently blocked
      * Testing interrupting the partitioner sender which in turn interrupts its helper threads
      * Testing TimedRunanble enforeces timeout for the whole task list.


Thanks,

Venki Korukanti


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