Sam, I would guess that the jar file you think is running, is not actually the one. I am guessing that in the task classpath, there is a normal jar file (without your changes) which is being picked up before your modified jar file.
On Thursday, October 17, 2013 10:13 PM, sam liu <[email protected]> wrote: It's really weird and confusing me. Anyone can help this question? Thanks! 2013/10/16 sam liu <[email protected]> Hi Experts, > >In Hadoop-2.0.4, the TeraSort leverage TeraSort#TotalOrderPartitioner as its >Partitioner: 'job.setPartitionerClass(TotalOrderPartitioner.class);'. However, >seems Yarn did not execute the methods of TeraSort#TotalOrderPartitioner at >all. I did some tests to verify it as below: > >Test 1: Add some code in the method readPartitions() and setConf() in >TeraSort#TotalOrderPartitioner to print some words and write some word to a >file. >Expected Result: Some words should be printed and wrote into a file >Actual Result: No word was printed and wrote into a file at all > >Test 2: Remove all existing methods in TeraSort#TotalOrderPartitioner, but >only remaining some necessary but empty methods in it > Expected Result: TeraSort job will ocurr some exception, as the specified Partitioner is not implemented at all >Actual Result: TeraSort job completed successfully without any exception > >Above tests confused me a lot, because seems Yarn never use specified >partitioner TeraSort#TotalOrderPartitioner at all during job execution. > >Any one can help provide the reasons? > >Thanks very much! >
