You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tez.apache.org by "Bikas Saha (JIRA)" <ji...@apache.org> on 2015/05/01 19:36:06 UTC

[jira] [Commented] (TEZ-1897) Create a concurrent version of AsyncDispatcher

    [ https://issues.apache.org/jira/browse/TEZ-1897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14523499#comment-14523499 ] 

Bikas Saha commented on TEZ-1897:
---------------------------------

bq. AsyncDispatcherConcurrent(String name, int numThreads) {" super(name) instead of super("dispatcher")
bq. final LinkedBlockingQueue<Event> queue;; - Double ";"
bq. In AsyncDispatcher - the error checking code for previously registered dispatchers
bq. aitForDrained.wait(1000);, LO
Fixed

bq. At the same place - do the threads need to 
Cannot interrupt executorservice. After waiting shutdownNow is called which should take care of this. In any case, drained code patch is not used and we should probably remove it separately.

bq. serviceStop / serviceStart don't need to invoke super. 
Thats the way other CompositeServices are written and seems to be the correct thing to do since this method overrides super.serviceStart().

bq. here's a lot of code duplication between AsyncDispatcher and AsyncDispatcherConcu
I chose to do so, so that the concurrent version can replace the existing version in a future release. The concurrent version with thread size set to 1 is the same as the existing version. Manual thread creation is replaced by using a single thread in the threadpool. So there is no need to maintain 2 classes.

thanks for the reviews. Unless there are further comments, will commit by EOD.

> Create a concurrent version of AsyncDispatcher
> ----------------------------------------------
>
>                 Key: TEZ-1897
>                 URL: https://issues.apache.org/jira/browse/TEZ-1897
>             Project: Apache Tez
>          Issue Type: Task
>            Reporter: Bikas Saha
>            Assignee: Bikas Saha
>         Attachments: TEZ-1897.1.patch, TEZ-1897.2.patch, TEZ-1897.3.patch, TEZ-1897.4.patch, TEZ-1897.5.patch, TEZ-1897.6.patch
>
>
> Currently, it processes events on a single thread. For events that can be executed in parallel, e.g. vertex manager events, allowing higher concurrency may be beneficial.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)