Return-Path: X-Original-To: apmail-hadoop-common-issues-archive@minotaur.apache.org Delivered-To: apmail-hadoop-common-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 7057F18554 for ; Sat, 4 Jul 2015 17:25:05 +0000 (UTC) Received: (qmail 22776 invoked by uid 500); 4 Jul 2015 17:25:05 -0000 Delivered-To: apmail-hadoop-common-issues-archive@hadoop.apache.org Received: (qmail 22732 invoked by uid 500); 4 Jul 2015 17:25:05 -0000 Mailing-List: contact common-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: common-issues@hadoop.apache.org Delivered-To: mailing list common-issues@hadoop.apache.org Received: (qmail 22721 invoked by uid 99); 4 Jul 2015 17:25:05 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 04 Jul 2015 17:25:05 +0000 Date: Sat, 4 Jul 2015 17:25:05 +0000 (UTC) From: "Kengo Seki (JIRA)" To: common-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HADOOP-11903) test-patch should fail any new classes called Default-foo 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/HADOOP-11903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14613977#comment-14613977 ] Kengo Seki commented on HADOOP-11903: ------------------------------------- Attached a patch. Adding Default-foo is detected as follows (showing only related parts): {code} [sekikn@mobile hadoop]$ cat ~/add_default.patch diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/DefaultUtil.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/DefaultUtil.java new file mode 100644 index 0000000..ca3be96 --- /dev/null +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/DefaultUtil.java @@ -0,0 +1,20 @@ (snip) +package org.apache.hadoop.util; + +public interface DefaultUtil { } [sekikn@mobile hadoop]$ dev-support/test-patch.sh --basedir=/Users/sekikn/hadoop --project=hadoop --resetrepo ~/add_default.patch | Vote | Subsystem | Runtime | Comment ============================================================================ | -1 | classname | 0m 00s | The patch has 1 new problematic | | | | classnames. || Subsystem || Report/Notes || ============================================================================ | classname | /private/tmp/test-patch-hadoop/70393/bad-classname.txt | {code} But modifying existing Default-foo is not considered to be a problem: {code} [sekikn@mobile hadoop]$ cat ~/modify_default.patch diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/DefaultStringifier.java b/hadoop-common-project/hadoopcommon/src/main/java/org/apache/hadoop/io/DefaultStringifier.java index 3ba577f..8b0bfd5 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/DefaultStringifier.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/DefaultStringifier.java @@ -203,5 +203,4 @@ public void close() throws IOException { stringifier.close(); } } - } [sekikn@mobile hadoop]$ dev-support/test-patch.sh --basedir=/Users/sekikn/hadoop --project=hadoop --resetrepo ~/modify_default.patch | Vote | Subsystem | Runtime | Comment ============================================================================ | +1 | classname | 0m 00s | Patch has no classname issues. {code} Of course, unrelated changes are not regarded as problems: {code} [sekikn@mobile hadoop]$ cat ~/add_new.patch diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/NewClass.java b/hadoop-common-project/hadoopcommon/src/main/java/org/apache/hadoop/NewClass.java new file mode 100644 index 0000000..60c2057 --- /dev/null +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/NewClass.java @@ -0,0 +1,20 @@ (snip) +package org.apache.hadoop; + +public class NewClass { } [sekikn@mobile hadoop]$ dev-support/test-patch.sh --basedir=/Users/sekikn/hadoop --project=hadoop --resetrepo ~/add_new.patch | Vote | Subsystem | Runtime | Comment ============================================================================ | +1 | classname | 0m 00s | Patch has no classname issues. {code} Users can specify the patterns which are regarded as invalid classnames: {code} [sekikn@mobile hadoop]$ dev-support/test-patch.sh --basedir=/Users/sekikn/hadoop --project=hadoop --resetrepo --classname-re='^Default|^New' ~/add_new.patch | Vote | Subsystem | Runtime | Comment ============================================================================ | -1 | classname | 0m 00s | The patch has 1 new problematic | | | | classnames. || Subsystem || Report/Notes || ============================================================================ | classname | /private/tmp/test-patch-hadoop/25538/bad-classname.txt | [sekikn@mobile hadoop]$ cat /private/tmp/test-patch-hadoop/25538/bad-classname.txt hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/NewClass.java {code} > test-patch should fail any new classes called Default-foo > --------------------------------------------------------- > > Key: HADOOP-11903 > URL: https://issues.apache.org/jira/browse/HADOOP-11903 > Project: Hadoop Common > Issue Type: Sub-task > Components: yetus > Affects Versions: HADOOP-12111 > Reporter: Allen Wittenauer > Assignee: Kengo Seki > Attachments: HADOOP-11903.HADOOP-12111.00.patch > > > In the past, we've named things like DefaultResourceCalculator, DefaultContainerExecutor, and DefaultCodec that do nothing but cause problems down the road since they are effectively version and functionality locked forever. If these examples had been named what they truly were (e.g., MemoryResourceCalculator, SimpleContainerExecutor, and GZipCodec), the defaults could then be changed in the future in a compatible way. > One way to enforce this is to prevent the creation of new classes called Default-anything. -- This message was sent by Atlassian JIRA (v6.3.4#6332)