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 1CAF89CBE for ; Fri, 21 Oct 2011 05:22:58 +0000 (UTC) Received: (qmail 82084 invoked by uid 500); 21 Oct 2011 05:22:57 -0000 Delivered-To: apmail-hadoop-mapreduce-issues-archive@hadoop.apache.org Received: (qmail 81964 invoked by uid 500); 21 Oct 2011 05:22:56 -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 81922 invoked by uid 99); 21 Oct 2011 05:22:54 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Oct 2011 05:22:54 +0000 X-ASF-Spam-Status: No, hits=-2000.5 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Oct 2011 05:22:53 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id BB5DC30C4BE for ; Fri, 21 Oct 2011 05:20:33 +0000 (UTC) Date: Fri, 21 Oct 2011 05:20:33 +0000 (UTC) From: "Todd Lipcon (Updated) (JIRA)" To: mapreduce-issues@hadoop.apache.org Message-ID: <2079505662.483.1319174433768.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1651846608.269.1309298848779.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Updated] (MAPREDUCE-2629) Class loading quirk prevents inner class method compilation 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-2629?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Todd Lipcon updated MAPREDUCE-2629: ----------------------------------- Resolution: Fixed Hadoop Flags: Reviewed Status: Resolved (was: Patch Available) Committed to 23 and trunk. Thanks, Eric! > Class loading quirk prevents inner class method compilation > ----------------------------------------------------------- > > Key: MAPREDUCE-2629 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-2629 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: task > Affects Versions: 0.21.0, 0.22.0 > Reporter: Eric Caspole > Assignee: Eric Caspole > Priority: Minor > Fix For: 0.23.0 > > Attachments: MAPREDUCE-2629.patch, mr-2629.txt > > Original Estimate: 24h > Remaining Estimate: 24h > > While profiling jobs like terasort and gridmix, I noticed that a > method "org.apache.hadoop.mapreduce.task.ReduceContextImpl.access > $000" is near the top. It turns out that this is because the > ReduceContextImpl class has a member backupStore which is accessed > from an inner class ReduceContextImpl$ValueIterator. Due to the way > synthetic accessor methods work, every access of backupStore results > in a call to access$000 to the outer class. For some portion of the > run, backupStore is null and the BackupStore class has never been > loaded by the reducer. > Due to the way the Hotspot JVM inliner works, by default it will not > inline a short method where the class of of the return value object > is unloaded - if you use a debug JVM with -XX:+PrintCompilation you > will see a failure reason message like "unloaded signature classes." > This causes every call to ReduceContextImpl.access$000 to be executed > in the interpreter for the handful of bytecodes to return the null > backupStore. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira