Return-Path: X-Original-To: apmail-hadoop-mapreduce-issues-archive@minotaur.apache.org Delivered-To: apmail-hadoop-mapreduce-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6830E11C42 for ; Wed, 24 Sep 2014 16:59:45 +0000 (UTC) Received: (qmail 79934 invoked by uid 500); 24 Sep 2014 16:57:36 -0000 Delivered-To: apmail-hadoop-mapreduce-issues-archive@hadoop.apache.org Received: (qmail 79893 invoked by uid 500); 24 Sep 2014 16:57:35 -0000 Mailing-List: contact mapreduce-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: mapreduce-issues@hadoop.apache.org Delivered-To: mailing list mapreduce-issues@hadoop.apache.org Received: (qmail 79873 invoked by uid 99); 24 Sep 2014 16:57:35 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 24 Sep 2014 16:57:35 +0000 Date: Wed, 24 Sep 2014 16:57:35 +0000 (UTC) From: "Junping Du (JIRA)" To: mapreduce-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (MAPREDUCE-5831) Old MR client is not compatible with new MR application MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/MAPREDUCE-5831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Junping Du updated MAPREDUCE-5831: ---------------------------------- Attachment: MAPREDUCE-5831.patch Upload a patch to fix this issue. > Old MR client is not compatible with new MR application > ------------------------------------------------------- > > Key: MAPREDUCE-5831 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-5831 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: client, mr-am > Affects Versions: 2.2.0, 2.3.0 > Reporter: Zhijie Shen > Assignee: Junping Du > Priority: Blocker > Attachments: MAPREDUCE-5831.patch > > > Recently, we saw the following scenario: > 1. The user setup a cluster of hadoop 2.3., which contains YARN 2.3 and MR 2.3. > 2. The user client on a machine that MR 2.2 is installed and in the classpath. > Then, when the user submitted a simple wordcount job, he saw the following message: > {code} > 16:00:41,027 INFO main mapreduce.Job:1345 - map 100% reduce 100% > 16:00:41,036 INFO main mapreduce.Job:1356 - Job job_1396468045458_0006 completed successfully > 16:02:20,535 WARN main mapreduce.JobRunner:212 - Cannot start job [wordcountJob] > java.lang.IllegalArgumentException: No enum constant org.apache.hadoop.mapreduce.JobCounter.MB_MILLIS_REDUCES > at java.lang.Enum.valueOf(Enum.java:236) > at org.apache.hadoop.mapreduce.counters.FrameworkCounterGroup.valueOf(FrameworkCounterGroup.java:148) > at org.apache.hadoop.mapreduce.counters.FrameworkCounterGroup.findCounter(FrameworkCounterGroup.java:182) > at org.apache.hadoop.mapreduce.counters.AbstractCounters.findCounter(AbstractCounters.java:154) > at org.apache.hadoop.mapreduce.TypeConverter.fromYarn(TypeConverter.java:240) > at org.apache.hadoop.mapred.ClientServiceDelegate.getJobCounters(ClientServiceDelegate.java:370) > at org.apache.hadoop.mapred.YARNRunner.getJobCounters(YARNRunner.java:511) > at org.apache.hadoop.mapreduce.Job$7.run(Job.java:756) > at org.apache.hadoop.mapreduce.Job$7.run(Job.java:753) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) > at org.apache.hadoop.mapreduce.Job.getCounters(Job.java:753) > at org.apache.hadoop.mapreduce.Job.monitorAndPrintJob(Job.java:1361) > at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1289) > . . . > {code} > The problem is that the wordcount job was running on one or more than one nodes of the YARN cluster, where MR 2.3 libs were installed, and JobCounter.MB_MILLIS_REDUCES is available in the counters. On the other side, due to the classpath setting, the client was likely to run with MR 2.2 libs. After the client retrieved the counters from MR AM, it tried to construct the Counter object with the received counter name. Unfortunately, the enum didn't exist in the client's classpath. Therefore, "No enum constant" exception is thrown here. > JobCounter.MB_MILLIS_REDUCES is brought to MR2 via MAPREDUCE-5464 since Hadoop 2.3. -- This message was sent by Atlassian JIRA (v6.3.4#6332)