[jira] [Commented] (HADOOP-13493) Compatibility Docs should clarify the policy for what takes precedence when a conflict is found
[ https://issues.apache.org/jira/browse/HADOOP-13493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16273008#comment-16273008 ] Robert Kanter commented on HADOOP-13493: Oh, I meant to do that. Thanks. It's very easy to mix up branch-3.0 and branch-3.0.0. > Compatibility Docs should clarify the policy for what takes precedence when a > conflict is found > --- > > Key: HADOOP-13493 > URL: https://issues.apache.org/jira/browse/HADOOP-13493 > Project: Hadoop Common > Issue Type: Task > Components: documentation >Affects Versions: 2.7.2 >Reporter: Robert Kanter >Assignee: Daniel Templeton >Priority: Critical > Fix For: 3.0.0 > > Attachments: HADOOP-13493.001.patch, HADOOP-13493.002.patch > > > The Compatibility Docs > (https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/Compatibility.html#Java_API) > list the policies for Private, Public, not annotated, etc Classes and > members, but it doesn't say what happens when there's a conflict. We should > try obviously try to avoid this situation, but it would be good to explicitly > state what takes precedence. > As an example, until YARN-3225 made it consistent, {{RefreshNodesRequest}} > looked like this: > {code:java} > @Private > @Stable > public abstract class RefreshNodesRequest { > @Public > @Stable > public static RefreshNodesRequest newInstance() { > RefreshNodesRequest request = > Records.newRecord(RefreshNodesRequest.class); > return request; > } > } > {code} > Note that the class is marked {{\@Private}}, but the method is marked > {{\@Public}}. > In this example, I'd say that the class level should have priority. -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org
[jira] [Commented] (HADOOP-13493) Compatibility Docs should clarify the policy for what takes precedence when a conflict is found
[ https://issues.apache.org/jira/browse/HADOOP-13493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16273002#comment-16273002 ] Daniel Templeton commented on HADOOP-13493: --- I also pulled it back into branch-3.0.0. > Compatibility Docs should clarify the policy for what takes precedence when a > conflict is found > --- > > Key: HADOOP-13493 > URL: https://issues.apache.org/jira/browse/HADOOP-13493 > Project: Hadoop Common > Issue Type: Task > Components: documentation >Affects Versions: 2.7.2 >Reporter: Robert Kanter >Assignee: Daniel Templeton >Priority: Critical > Fix For: 3.0.0 > > Attachments: HADOOP-13493.001.patch, HADOOP-13493.002.patch > > > The Compatibility Docs > (https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/Compatibility.html#Java_API) > list the policies for Private, Public, not annotated, etc Classes and > members, but it doesn't say what happens when there's a conflict. We should > try obviously try to avoid this situation, but it would be good to explicitly > state what takes precedence. > As an example, until YARN-3225 made it consistent, {{RefreshNodesRequest}} > looked like this: > {code:java} > @Private > @Stable > public abstract class RefreshNodesRequest { > @Public > @Stable > public static RefreshNodesRequest newInstance() { > RefreshNodesRequest request = > Records.newRecord(RefreshNodesRequest.class); > return request; > } > } > {code} > Note that the class is marked {{\@Private}}, but the method is marked > {{\@Public}}. > In this example, I'd say that the class level should have priority. -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org
[jira] [Commented] (HADOOP-13493) Compatibility Docs should clarify the policy for what takes precedence when a conflict is found
[ https://issues.apache.org/jira/browse/HADOOP-13493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16272846#comment-16272846 ] Hudson commented on HADOOP-13493: - SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #13296 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/13296/]) HADOOP-13493. Compatibility Docs should clarify the policy for what (rkanter: rev 75a3ab88f5f4ea6abf0a56cb8058e17b5a5fe403) * (edit) hadoop-common-project/hadoop-common/src/site/markdown/Compatibility.md > Compatibility Docs should clarify the policy for what takes precedence when a > conflict is found > --- > > Key: HADOOP-13493 > URL: https://issues.apache.org/jira/browse/HADOOP-13493 > Project: Hadoop Common > Issue Type: Task > Components: documentation >Affects Versions: 2.7.2 >Reporter: Robert Kanter >Assignee: Daniel Templeton >Priority: Critical > Fix For: 3.0.0 > > Attachments: HADOOP-13493.001.patch, HADOOP-13493.002.patch > > > The Compatibility Docs > (https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/Compatibility.html#Java_API) > list the policies for Private, Public, not annotated, etc Classes and > members, but it doesn't say what happens when there's a conflict. We should > try obviously try to avoid this situation, but it would be good to explicitly > state what takes precedence. > As an example, until YARN-3225 made it consistent, {{RefreshNodesRequest}} > looked like this: > {code:java} > @Private > @Stable > public abstract class RefreshNodesRequest { > @Public > @Stable > public static RefreshNodesRequest newInstance() { > RefreshNodesRequest request = > Records.newRecord(RefreshNodesRequest.class); > return request; > } > } > {code} > Note that the class is marked {{\@Private}}, but the method is marked > {{\@Public}}. > In this example, I'd say that the class level should have priority. -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org
[jira] [Commented] (HADOOP-13493) Compatibility Docs should clarify the policy for what takes precedence when a conflict is found
[ https://issues.apache.org/jira/browse/HADOOP-13493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16272814#comment-16272814 ] Robert Kanter commented on HADOOP-13493: Sorry for the delay. It now says that the more restrictive thing has priority, which I think makes the most sense. +1 LGTM > Compatibility Docs should clarify the policy for what takes precedence when a > conflict is found > --- > > Key: HADOOP-13493 > URL: https://issues.apache.org/jira/browse/HADOOP-13493 > Project: Hadoop Common > Issue Type: Task > Components: documentation >Affects Versions: 2.7.2 >Reporter: Robert Kanter >Assignee: Daniel Templeton >Priority: Critical > Attachments: HADOOP-13493.001.patch, HADOOP-13493.002.patch > > > The Compatibility Docs > (https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/Compatibility.html#Java_API) > list the policies for Private, Public, not annotated, etc Classes and > members, but it doesn't say what happens when there's a conflict. We should > try obviously try to avoid this situation, but it would be good to explicitly > state what takes precedence. > As an example, until YARN-3225 made it consistent, {{RefreshNodesRequest}} > looked like this: > {code:java} > @Private > @Stable > public abstract class RefreshNodesRequest { > @Public > @Stable > public static RefreshNodesRequest newInstance() { > RefreshNodesRequest request = > Records.newRecord(RefreshNodesRequest.class); > return request; > } > } > {code} > Note that the class is marked {{\@Private}}, but the method is marked > {{\@Public}}. > In this example, I'd say that the class level should have priority. -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org
[jira] [Commented] (HADOOP-13493) Compatibility Docs should clarify the policy for what takes precedence when a conflict is found
[ https://issues.apache.org/jira/browse/HADOOP-13493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16271942#comment-16271942 ] Andrew Wang commented on HADOOP-13493: -- Hey folks, is this still planned for 3.0.0? The blockers are making nice progress, so would like to close on this too. > Compatibility Docs should clarify the policy for what takes precedence when a > conflict is found > --- > > Key: HADOOP-13493 > URL: https://issues.apache.org/jira/browse/HADOOP-13493 > Project: Hadoop Common > Issue Type: Task > Components: documentation >Affects Versions: 2.7.2 >Reporter: Robert Kanter >Assignee: Daniel Templeton >Priority: Critical > Attachments: HADOOP-13493.001.patch, HADOOP-13493.002.patch > > > The Compatibility Docs > (https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/Compatibility.html#Java_API) > list the policies for Private, Public, not annotated, etc Classes and > members, but it doesn't say what happens when there's a conflict. We should > try obviously try to avoid this situation, but it would be good to explicitly > state what takes precedence. > As an example, until YARN-3225 made it consistent, {{RefreshNodesRequest}} > looked like this: > {code:java} > @Private > @Stable > public abstract class RefreshNodesRequest { > @Public > @Stable > public static RefreshNodesRequest newInstance() { > RefreshNodesRequest request = > Records.newRecord(RefreshNodesRequest.class); > return request; > } > } > {code} > Note that the class is marked {{\@Private}}, but the method is marked > {{\@Public}}. > In this example, I'd say that the class level should have priority. -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org
[jira] [Commented] (HADOOP-13493) Compatibility Docs should clarify the policy for what takes precedence when a conflict is found
[ https://issues.apache.org/jira/browse/HADOOP-13493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16263219#comment-16263219 ] Hadoop QA commented on HADOOP-13493: | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 9m 47s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | || || || || {color:brown} trunk Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 16m 4s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 57s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 26m 42s{color} | {color:green} branch has no errors when building and testing our client artifacts. {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 52s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 11m 5s{color} | {color:green} patch has no errors when building and testing our client artifacts. {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 20s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 49m 9s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hadoop:5b98639 | | JIRA Issue | HADOOP-13493 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12898916/HADOOP-13493.002.patch | | Optional Tests | asflicense mvnsite | | uname | Linux 900f2f4b879b 3.13.0-129-generic #178-Ubuntu SMP Fri Aug 11 12:48:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/patchprocess/precommit/personality/provided.sh | | git revision | trunk / 785732c | | maven | version: Apache Maven 3.3.9 | | Max. process+thread count | 341 (vs. ulimit of 5000) | | modules | C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common | | Console output | https://builds.apache.org/job/PreCommit-HADOOP-Build/13739/console | | Powered by | Apache Yetus 0.7.0-SNAPSHOT http://yetus.apache.org | This message was automatically generated. > Compatibility Docs should clarify the policy for what takes precedence when a > conflict is found > --- > > Key: HADOOP-13493 > URL: https://issues.apache.org/jira/browse/HADOOP-13493 > Project: Hadoop Common > Issue Type: Task > Components: documentation >Affects Versions: 2.7.2 >Reporter: Robert Kanter >Assignee: Daniel Templeton >Priority: Critical > Attachments: HADOOP-13493.001.patch, HADOOP-13493.002.patch > > > The Compatibility Docs > (https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/Compatibility.html#Java_API) > list the policies for Private, Public, not annotated, etc Classes and > members, but it doesn't say what happens when there's a conflict. We should > try obviously try to avoid this situation, but it would be good to explicitly > state what takes precedence. > As an example, until YARN-3225 made it consistent, {{RefreshNodesRequest}} > looked like this: > {code:java} > @Private > @Stable > public abstract class RefreshNodesRequest { > @Public > @Stable > public static RefreshNodesRequest newInstance() { > RefreshNodesRequest request = > Records.newRecord(RefreshNodesRequest.class); > return request; > } > } > {code} > Note that the class is marked {{\@Private}}, but the method is marked > {{\@Public}}. > In this example, I'd say that the class level should have priority. -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org
[jira] [Commented] (HADOOP-13493) Compatibility Docs should clarify the policy for what takes precedence when a conflict is found
[ https://issues.apache.org/jira/browse/HADOOP-13493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16255824#comment-16255824 ] Robert Kanter commented on HADOOP-13493: The patch basically says that the most inner thing has priority. For instance, a method supersedes a class. However, in your example in this JIRA, it was the opposite - the class superseded the method. I'm actually wondering if maybe that's the correct way (and the patch is backwards). Think about this: if a class is marked as private, then no methods in it should be public because how could you access that method without first accessing that class? > Compatibility Docs should clarify the policy for what takes precedence when a > conflict is found > --- > > Key: HADOOP-13493 > URL: https://issues.apache.org/jira/browse/HADOOP-13493 > Project: Hadoop Common > Issue Type: Task > Components: documentation >Affects Versions: 2.7.2 >Reporter: Robert Kanter >Assignee: Daniel Templeton >Priority: Critical > Attachments: HADOOP-13493.001.patch > > > The Compatibility Docs > (https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/Compatibility.html#Java_API) > list the policies for Private, Public, not annotated, etc Classes and > members, but it doesn't say what happens when there's a conflict. We should > try obviously try to avoid this situation, but it would be good to explicitly > state what takes precedence. > As an example, until YARN-3225 made it consistent, {{RefreshNodesRequest}} > looked like this: > {code:java} > @Private > @Stable > public abstract class RefreshNodesRequest { > @Public > @Stable > public static RefreshNodesRequest newInstance() { > RefreshNodesRequest request = > Records.newRecord(RefreshNodesRequest.class); > return request; > } > } > {code} > Note that the class is marked {{\@Private}}, but the method is marked > {{\@Public}}. > In this example, I'd say that the class level should have priority. -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org
[jira] [Commented] (HADOOP-13493) Compatibility Docs should clarify the policy for what takes precedence when a conflict is found
[ https://issues.apache.org/jira/browse/HADOOP-13493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16204717#comment-16204717 ] Hadoop QA commented on HADOOP-13493: | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 14m 55s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | || || || || {color:brown} trunk Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 13m 24s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 54s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 23m 6s{color} | {color:green} branch has no errors when building and testing our client artifacts. {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 50s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 1s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 10m 2s{color} | {color:green} patch has no errors when building and testing our client artifacts. {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 17s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 49m 30s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Image:yetus/hadoop:0de40f0 | | JIRA Issue | HADOOP-13493 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12892218/HADOOP-13493.001.patch | | Optional Tests | asflicense mvnsite | | uname | Linux 566b0183d068 3.13.0-129-generic #178-Ubuntu SMP Fri Aug 11 12:48:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/hadoop/patchprocess/precommit/personality/provided.sh | | git revision | trunk / 133d7ca | | modules | C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common | | Console output | https://builds.apache.org/job/PreCommit-HADOOP-Build/13513/console | | Powered by | Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org | This message was automatically generated. > Compatibility Docs should clarify the policy for what takes precedence when a > conflict is found > --- > > Key: HADOOP-13493 > URL: https://issues.apache.org/jira/browse/HADOOP-13493 > Project: Hadoop Common > Issue Type: Task > Components: documentation >Affects Versions: 2.7.2 >Reporter: Robert Kanter >Assignee: Daniel Templeton >Priority: Critical > Attachments: HADOOP-13493.001.patch > > > The Compatibility Docs > (https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/Compatibility.html#Java_API) > list the policies for Private, Public, not annotated, etc Classes and > members, but it doesn't say what happens when there's a conflict. We should > try obviously try to avoid this situation, but it would be good to explicitly > state what takes precedence. > As an example, until YARN-3225 made it consistent, {{RefreshNodesRequest}} > looked like this: > {code:java} > @Private > @Stable > public abstract class RefreshNodesRequest { > @Public > @Stable > public static RefreshNodesRequest newInstance() { > RefreshNodesRequest request = > Records.newRecord(RefreshNodesRequest.class); > return request; > } > } > {code} > Note that the class is marked {{\@Private}}, but the method is marked > {{\@Public}}. > In this example, I'd say that the class level should have priority. -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org