Return-Path: Delivered-To: apmail-hadoop-core-dev-archive@www.apache.org Received: (qmail 79647 invoked from network); 14 Feb 2009 03:53:24 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Feb 2009 03:53:24 -0000 Received: (qmail 80425 invoked by uid 500); 14 Feb 2009 03:53:22 -0000 Delivered-To: apmail-hadoop-core-dev-archive@hadoop.apache.org Received: (qmail 80390 invoked by uid 500); 14 Feb 2009 03:53:22 -0000 Mailing-List: contact core-dev-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: core-dev@hadoop.apache.org Delivered-To: mailing list core-dev@hadoop.apache.org Received: (qmail 80379 invoked by uid 99); 14 Feb 2009 03:53:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 13 Feb 2009 19:53:22 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 14 Feb 2009 03:53:20 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id ABD08234C48B for ; Fri, 13 Feb 2009 19:52:59 -0800 (PST) Message-ID: <1410573994.1234583579688.JavaMail.jira@brutus> Date: Fri, 13 Feb 2009 19:52:59 -0800 (PST) From: "Jakob Homan (JIRA)" To: core-dev@hadoop.apache.org Subject: [jira] Updated: (HADOOP-5261) HostsFileReader does not properly implement concurrency support In-Reply-To: <85560842.1234583460596.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HADOOP-5261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jakob Homan updated HADOOP-5261: -------------------------------- Attachment: HADOOP-5261.patch Patch: * Synchronizes access to getHosts() and getExcludedHosts() methods * Returns a copy of the hosts and excluded hosts sets, rather than the actual reference to them. This prevents concurrency problems if later a process is trying to enumerate over the sets while HostsFileReader is updating/deleting, etc. Patch passes all unit tests except known-bad HADOOP-4907. Test-patch: {noformat} [exec] -1 overall. [exec] [exec] +1 @author. The patch does not contain any @author tags. [exec] [exec] -1 tests included. The patch doesn't appear to include any new or modified tests. [exec] Please justify why no tests are needed for this patch. [exec] [exec] +1 javadoc. The javadoc tool did not generate any warning messages. [exec] [exec] +1 javac. The applied patch does not increase the total number of javac compiler warnings. [exec] [exec] +1 findbugs. The patch does not introduce any new Findbugs warnings. [exec] [exec] +1 Eclipse classpath. The patch retains Eclipse classpath integrity. [exec] [exec] +1 release audit. The applied patch does not increase the total number of release audit warnings. {noformat} No new tests because correcting a potential concurrency problem and not easily testable. > HostsFileReader does not properly implement concurrency support > --------------------------------------------------------------- > > Key: HADOOP-5261 > URL: https://issues.apache.org/jira/browse/HADOOP-5261 > Project: Hadoop Core > Issue Type: Bug > Reporter: Jakob Homan > Assignee: Jakob Homan > Attachments: HADOOP-5261.patch > > > As currently implemented, the class HostsFileReader does not properly allow concurrent access. > It maintains two Sets and manipulates them within synchronized fields, but provides accessor methods that publish unsynchronized access to the sets' references (getHosts() and getExcludedHosts()). The sets are implemented as HashSets, which are not thread safe. This can allow a method to obtain a reference to a set that may be modified concurrently by the HostsFileReader. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.