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

Siddharth Seth commented on TEZ-3207:
-------------------------------------

One thing that is likely not covered is that ShuffleManager does not know how 
many partitions are coming in for an Input. If the events arrive with a delay 
(e.g. crossing the 500 limit of #events per heartbeat, or the fetcher is faster 
than processing of events) - we may end up missing data.
How is the AM side plugin setting up #phyiscalInputs ?

Other comments, which are mostly independent of the core functionality change.
- Rename hasNumPendingPartitions to getNumPendingPartitions since it is not 
returning a boolean
- addKnownInput - can be refactored with inputs = 
partitionToInputs.get(partition); being further up to avoid one unnecessary map 
lookup
- clearAndGetOnePartition - Iterator + null check instead of a for loop. Ignore 
if you want - doesn't make a difference.
- toString in InputHost - can we include the numPending partitions, and num 
pending segments within that
- visibleForTesting annotation on constructFetcherForHost
- host = new InputHost(identifier); could be host = identifier ?
- On the test - can we reduce the sleep itnerval since this is a poll. It will 
normally complete well before the 2s sleep time. Ideally, we should change the 
test to control the thread on the main ShuffleManager - but that can be done 
later.
- Would be useful to add a test where all the events don't arrive at the same 
time. i.e. events for partition1 arrive first. Ensure Shuffle does not 
complete, and keeps waiting for the remaining partitions.

Will look in a little more detail later. 

> Add support for fetching multiple partitions from the same source task to 
> UnorderedKVInput
> ------------------------------------------------------------------------------------------
>
>                 Key: TEZ-3207
>                 URL: https://issues.apache.org/jira/browse/TEZ-3207
>             Project: Apache Tez
>          Issue Type: Bug
>            Reporter: Ming Ma
>            Assignee: Ming Ma
>         Attachments: TEZ-3207.patch
>
>
> The ordered grouped {{ShuffleScheduler}} can support fetching multiple 
> partitions from the same source task. But for the unordered ShuffleManager, 
> it only supports one partition per source task due to the following issue 
> where {{identifier}} doesn't take partition id into account.
> {noformat}
>   public void addKnownInput(String hostName, int port,
>       InputAttemptIdentifier srcAttemptIdentifier, int srcPhysicalIndex) {
>     String identifier = InputHost.createIdentifier(hostName, port);
>     InputHost host = knownSrcHosts.get(identifier);
>     ....
>   }
> {noformat}



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

Reply via email to