Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 4C26A200C01 for ; Thu, 19 Jan 2017 23:27:37 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 4ABEE160B54; Thu, 19 Jan 2017 22:27:37 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 9309B160B3A for ; Thu, 19 Jan 2017 23:27:36 +0100 (CET) Received: (qmail 76952 invoked by uid 500); 19 Jan 2017 22:27:35 -0000 Mailing-List: contact yarn-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list yarn-issues@hadoop.apache.org Received: (qmail 76941 invoked by uid 99); 19 Jan 2017 22:27:35 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Jan 2017 22:27:35 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 396EB1A035F for ; Thu, 19 Jan 2017 22:27:35 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.199 X-Spam-Level: X-Spam-Status: No, score=-1.199 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id sV7pvZJ8PopB for ; Thu, 19 Jan 2017 22:27:30 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id B4CCD5FB79 for ; Thu, 19 Jan 2017 22:27:29 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 8D830E8660 for ; Thu, 19 Jan 2017 22:27:28 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 4D3542528C for ; Thu, 19 Jan 2017 22:27:27 +0000 (UTC) Date: Thu, 19 Jan 2017 22:27:27 +0000 (UTC) From: "Jason Lowe (JIRA)" To: yarn-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (YARN-5641) Localizer leaves behind tarballs after container is complete MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Thu, 19 Jan 2017 22:27:37 -0000 [ https://issues.apache.org/jira/browse/YARN-5641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15830718#comment-15830718 ] Jason Lowe commented on YARN-5641: ---------------------------------- Thanks for updating the patch! I think getThread and the description is a little vague. It would be more clear if the method were called something like getWaitingThread to indicate this is the thread waiting for the shell command to return, and the Javadoc should be more clear that it is the thread in the runCommand method or null if no thread is waiting for a shell command to complete. runCommand needs to set the waiting thread field to null after the subprocess completes. removeShell does not seem to be appropriate to be public or even necessary. Shell instances should automatically remove themselves when the subprocess exits, and if the subprocess hasn't exited then they shouldn't be removed otherwise. I don't think it's appropriate for the ContainerLocalizer to be removing shells, or am I missing something? FSDownloadWrapper should be package-private. HashSet is not thread safe, and multiple threads can be accessing it at the same time (e.g.: one thread in the executor pool may be trying to add itself to the set just as another is trying to call the set's contains method). This needs to either be a synchronized set or a concurrent set. Why doesn't the ContainerLocalizerWrapper constructor initialize the spylfs member? It's odd to call the constructor then always have to poke fields in it. To help reduce the changes in the patch, I'd recommend creating {{spylfs}}, {{random}}, and {{nmProxy}} local variables to eliminate all the changes that are simply adding the 'wrapper.' prefix. Nit: Please use a much smaller check interval on the waitFor calls in the unit test. Style Nit: Typically there is no space between the generic class name and the type specifier (e.g.: {{Map <>}} should be {{Map<>}}) Style Nit: Please do not use wildcard imports > Localizer leaves behind tarballs after container is complete > ------------------------------------------------------------ > > Key: YARN-5641 > URL: https://issues.apache.org/jira/browse/YARN-5641 > Project: Hadoop YARN > Issue Type: Bug > Reporter: Eric Badger > Assignee: Eric Badger > Attachments: YARN-5641.001.patch, YARN-5641.002.patch, YARN-5641.003.patch, YARN-5641.004.patch, YARN-5641.005.patch, YARN-5641.006.patch, YARN-5641.007.patch > > > The localizer sometimes fails to clean up extracted tarballs leaving large footprints that persist on the nodes indefinitely. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org For additional commands, e-mail: yarn-issues-help@hadoop.apache.org