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 2166417D72 for ; Mon, 20 Apr 2015 17:52:00 +0000 (UTC) Received: (qmail 81460 invoked by uid 500); 20 Apr 2015 17:52:00 -0000 Delivered-To: apmail-hadoop-mapreduce-issues-archive@hadoop.apache.org Received: (qmail 81388 invoked by uid 500); 20 Apr 2015 17:51:59 -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 81376 invoked by uid 99); 20 Apr 2015 17:51:59 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Apr 2015 17:51:59 +0000 Date: Mon, 20 Apr 2015 17:51:59 +0000 (UTC) From: "Sangjin Lee (JIRA)" To: mapreduce-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (MAPREDUCE-6293) uberized job fails with the job classloader enabled 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-6293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14503295#comment-14503295 ] Sangjin Lee commented on MAPREDUCE-6293: ---------------------------------------- One reason I went with classLoader.getClass().getName() is classLoader.toString() would just use Object.toString() and print out the hashCode which I thought was unnecessary detail. I used this pattern elsewhere (e.g. MRApps). I'm OK with switching to the implicit toString(). I acknowledge the point about TCCL ever being null, although it would be very unlikely. But if we do, I think it'd be better to switch to it in all places where I log the classloader. Thoughts? > uberized job fails with the job classloader enabled > --------------------------------------------------- > > Key: MAPREDUCE-6293 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-6293 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: mr-am > Affects Versions: 2.6.0 > Reporter: Sangjin Lee > Assignee: Sangjin Lee > Attachments: MAPREDUCE-6293.001.patch, MAPREDUCE-6293.002.patch > > > An uberized job fails if the job classloader is enabled and the job needs to use the thread context classloader to load a class. Some example error in the log: > {quote} > 2015-03-23 23:28:34,675 INFO [main\] org.apache.hadoop.mapreduce.v2.util.MRApps: Creating job classloader > ... > 2015-03-23 23:28:42,096 ERROR [uber-SubtaskRunner\] cascading.provider.ServiceLoader: unable to find service class: cascading.tuple.hadoop.collect.HadoopTupleMapFactory, with exception: java.lang.ClassNotFoundException: cascading.tuple.hadoop.collect.HadoopTupleMapFactory > {quote} -- This message was sent by Atlassian JIRA (v6.3.4#6332)