[ https://issues.apache.org/jira/browse/MAPREDUCE-4049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13504502#comment-13504502 ]
Avner BenHanoch commented on MAPREDUCE-4049: -------------------------------------------- _Alejandro,_ With all due respect, I think that something in your behavior is inappropriate: * You were never involved in this issue; still you gave yourself the liberty to make it a sub issue of your supported MAPREDUCE-2454 issue, without consulting anyone. * This is especially inappropriate since MAPREDUCE-2454 is disputable and has its acceptance problems regardless of my issue. Hence, its acceptance problems will affect my issue. * Your justification *"As all this JIRAs are small, I think we'll be able to move fast with all of them."* is inappropriate since you actually created a linkage that will surely postpone my issue instead of leaving each issue to progress at its own pace! * It is not the first time that the persons behind MAPREDUCE-2454 try to disturb this JIRA issue. Apparently, I don't have the privileges to break this "sub task" linkage; hence, I am asking that you or someone else will do it. I am welcoming any comment coming from a professional place with the simple target of making Hadoop better. Having that said, I feel that the way you blitzed my patch with any possible patty comment, sometime with disputable claims, just before the patch is about to be accepted – is unfair, unprofessional and unfriendly. Especially considering your complete silence since this JIRA issue has started. I am not sure that commenting in a blitz way will increase the quality of hadoop. For example: {quote} "Checking for shuffleConsumerPlugin != null before closing it seems redundant, you would have never got there if shufflePlugin is NULL." {quote} This is your mistake (I'll reach there in case isLocal == true). *There is no option to remove the nullity check!* {quote} "Visibility annotations for the ShuffleConsumerPlugin, ShuffleContext, should be Unstable" {quote} I think it is inappropriate to declare plugin interface as "Unstable", since it must stay stable for 3rd party vendors. --- --- --- --- Personally, I have no problem to implement all the rest of your comments. It should be very easy for me. Still, I am raising few points for consideration regarding your following comments: {quote} "The Shuffle class should be renamed to DefaultShuffle." "The ShuffleConsumerPlugin should be renamed to Shuffle." {quote} I chose the term 'ShuffleConsumerPlugin' and not something like 'Shuffle', because it clarifies that we are in a *plugin* of *ShuffleConsumer*, rather than a *builtin* *ShuffleProvider/ShuffleHandler*. Also, I didn't take the liberty to rename core classes of Hadoop. {quote} "ShuffleConsumerPlugin, getShuffleConsumerPlugin() method is not required, instead use the ReflectionUtils directly in the ReducerTask class." {quote} Here, I only followed existing convention of Hadoop as shown in ResourceCalculatorPlugin.getResourceCalculatorPlugin(). Personally, I'll be glad to follow your advice, and even to go one step further and make ShuffleConsumerPlugin an interface instead of AbstractClass. {quote} "use 'mapreduce.job.reduce.shuffle.class' to be consistent with MAPREDUCE-2454." {quote} Here I chose 'mapreduce.shuffle…', since I think it is consistent with the current convention in hadoop-3 configuration. --- --- --- --- I can tell you that Arun & Todd didn't make it easy for me with their requests from this patch so far. Still, I understand, respect and accept all their comments. I am sure that everyone involved only want the best for Hadoop. I suggest we hear Arun's consideration and move forward with the patch in the best professional way. _*Arun,*_ I think you are very familiar with both Hadoop/MapReduce and this JIRA issue since its inception. You are also well familiar and involved with MAPREDUCE-2454. It is also safe to say you know Alejandro and Asokan better than you know me. I believe everyone involved will agree that your sole interest is Hadoop's quality. *I am asking you and everyone else to help progressing here.* Avner > plugin for generic shuffle service > ---------------------------------- > > Key: MAPREDUCE-4049 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-4049 > Project: Hadoop Map/Reduce > Issue Type: Sub-task > Components: performance, task, tasktracker > Affects Versions: 1.0.3, 1.1.0, 2.0.0-alpha, 3.0.0 > Reporter: Avner BenHanoch > Labels: merge, plugin, rdma, shuffle > Fix For: trunk > > Attachments: HADOOP-1.x.y.patch, Hadoop Shuffle Plugin Design.rtf, > mapreduce-4049.patch, mapreduce-4049.patch, mapreduce-4049.patch, > mapreduce-4049.patch > > > Support generic shuffle service as set of two plugins: ShuffleProvider & > ShuffleConsumer. > This will satisfy the following needs: > # Better shuffle and merge performance. For example: we are working on > shuffle plugin that performs shuffle over RDMA in fast networks (10gE, 40gE, > or Infiniband) instead of using the current HTTP shuffle. Based on the fast > RDMA shuffle, the plugin can also utilize a suitable merge approach during > the intermediate merges. Hence, getting much better performance. > # Satisfy MAPREDUCE-3060 - generic shuffle service for avoiding hidden > dependency of NodeManager with a specific version of mapreduce shuffle > (currently targeted to 0.24.0). > References: > # Hadoop Acceleration through Network Levitated Merging, by Prof. Weikuan Yu > from Auburn University with others, > [http://pasl.eng.auburn.edu/pubs/sc11-netlev.pdf] > # I am attaching 2 documents with suggested Top Level Design for both plugins > (currently, based on 1.0 branch) > # I am providing link for downloading UDA - Mellanox's open source plugin > that implements generic shuffle service using RDMA and levitated merge. > Note: At this phase, the code is in C++ through JNI and you should consider > it as beta only. Still, it can serve anyone that wants to implement or > contribute to levitated merge. (Please be advised that levitated merge is > mostly suit in very fast networks) - > [http://www.mellanox.com/content/pages.php?pg=products_dyn&product_family=144&menu_section=69] -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira