[jira] [Commented] (YARN-5130) Mark ContainerStatus and NodeReport as evolving
[ https://issues.apache.org/jira/browse/YARN-5130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15613569#comment-15613569 ] Sangjin Lee commented on YARN-5130: --- How about using this JIRA to address the incompatibility introduced by YARN-3866 and YARN-4293 for 2.8.0? We can add default implementations of these methods (that simply throw an {{UnsupportedOperationException}}). That would preserve the stability of the class while allowing those features to work correctly still. IMO, this should be a blocker for 2.8.0. Let me know what you think. > Mark ContainerStatus and NodeReport as evolving > --- > > Key: YARN-5130 > URL: https://issues.apache.org/jira/browse/YARN-5130 > Project: Hadoop YARN > Issue Type: Improvement > Components: yarn >Affects Versions: 2.8.0 >Reporter: Steve Loughran >Assignee: Gergely Novák >Priority: Minor > Labels: oct16-medium > Attachments: YARN-5130.001.patch > > > It turns out that slider won't build as the {{ContainerStatus}} and > {{NodeReport}} classes have added more abstract methods, so breaking the mock > objects. > While it is everyone's freedom to change things, these classes are both tagged > {code} > @Public > @Stable > {code} > Given they aren't stable, can someone mark them as {{@Evolving}}? That way > when downstream code breaks, we can be less disappointed -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-5130) Mark ContainerStatus and NodeReport as evolving
[ https://issues.apache.org/jira/browse/YARN-5130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15613548#comment-15613548 ] Hadoop QA commented on YARN-5130: - | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 16s{color} | {color:blue} Docker mode activated. {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:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s{color} | {color:red} The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 7m 6s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 23s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 13s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 27s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 12s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 4s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 18s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 23s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 21s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 21s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 10s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 25s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 9s{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} findbugs {color} | {color:green} 1m 7s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 15s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 23s{color} | {color:green} hadoop-yarn-api in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 15s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 14m 44s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Image:yetus/hadoop:9560f25 | | JIRA Issue | YARN-5130 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12806627/YARN-5130.001.patch | | Optional Tests | asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle | | uname | Linux b5ad27fa45a0 3.13.0-96-generic #143-Ubuntu SMP Mon Aug 29 20:15:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/hadoop/patchprocess/precommit/personality/provided.sh | | git revision | trunk / 022bf78 | | Default Java | 1.8.0_101 | | findbugs | v3.0.0 | | Test Results | https://builds.apache.org/job/PreCommit-YARN-Build/13600/testReport/ | | modules | C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api | | Console output | https://builds.apache.org/job/PreCommit-YARN-Build/13600/console | | Powered by | Apache Yetus 0.4.0-SNAPSHOT http://yetus.apache.org | This message was automatically generated. > Mark ContainerStatus and NodeReport as evolving > --- > > Key: YARN-5130 > URL: https://issues.apache.org/jira/browse/YARN-5130 > Project: Hadoop YARN > Issue Type: Improvement > Components: yarn >Affects Versions: 2.8.0 >Reporter: Steve Loughran >Assignee: Gergely Novák >Priority: Minor > Labels: oct16-medium >
[jira] [Commented] (YARN-5130) Mark ContainerStatus and NodeReport as evolving
[ https://issues.apache.org/jira/browse/YARN-5130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15613377#comment-15613377 ] Sangjin Lee commented on YARN-5130: --- If the class is declared Public/Stable, no changes to the class that break the Stable contract should be made between non-major releases *regardless of the method visibility/stability*. For example, the following would break the stability: - adding a new abstract method, whether that method is stable, evolving, or even private - renaming a public method Although it may be possible to have methods with weaker stability/visibility, they still MUST not break the class contract. IMO, relaxing the class contract from Stable to Evolving would be an incompatible change in itself. We need to address the existing violations to ContainerStatus and NodeReport by adding a default implementation for *minor releases*. - ContainerStatus: YARN-3866 (2.8) - NodeReport: YARN-4293 (2.8) There are subsequent changes to ContainerStatus by YARN-2882 and YARN-5430, but they are marked 2.9.0. Is there going to be 2.9.0? If not, then these might not matter as 3.0.0 permits backward incompatible changes. We should have a blocker that addresses YARN-3866 and YARN-4293 for the 2.8.0 release. We can perhaps repurpose YARN-5184 to address YARN-2882 and YARN-5430 for the 2.9.0 release. I believe this should not be a blocker for 3.0.0 because 3.0.0 allows backward-incompatible changes. > Mark ContainerStatus and NodeReport as evolving > --- > > Key: YARN-5130 > URL: https://issues.apache.org/jira/browse/YARN-5130 > Project: Hadoop YARN > Issue Type: Improvement > Components: yarn >Affects Versions: 2.8.0 >Reporter: Steve Loughran >Assignee: Gergely Novák >Priority: Minor > Labels: oct16-medium > Attachments: YARN-5130.001.patch > > > It turns out that slider won't build as the {{ContainerStatus}} and > {{NodeReport}} classes have added more abstract methods, so breaking the mock > objects. > While it is everyone's freedom to change things, these classes are both tagged > {code} > @Public > @Stable > {code} > Given they aren't stable, can someone mark them as {{@Evolving}}? That way > when downstream code breaks, we can be less disappointed -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-5130) Mark ContainerStatus and NodeReport as evolving
[ https://issues.apache.org/jira/browse/YARN-5130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15329527#comment-15329527 ] Sunil G commented on YARN-5130: --- Yes. I agree with your point. There should be a strict notion while making changes on a Stable interface especially to those exposed to client and other modules. We could have some test cases to detect this, still a hack in test cases could take us back to original problem. > Mark ContainerStatus and NodeReport as evolving > --- > > Key: YARN-5130 > URL: https://issues.apache.org/jira/browse/YARN-5130 > Project: Hadoop YARN > Issue Type: Improvement > Components: yarn >Affects Versions: 2.8.0 >Reporter: Steve Loughran >Assignee: Gergely Novák >Priority: Minor > Attachments: YARN-5130.001.patch > > > It turns out that slider won't build as the {{ContainerStatus}} and > {{NodeReport}} classes have added more abstract methods, so breaking the mock > objects. > While it is everyone's freedom to change things, these classes are both tagged > {code} > @Public > @Stable > {code} > Given they aren't stable, can someone mark them as {{@Evolving}}? That way > when downstream code breaks, we can be less disappointed -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-5130) Mark ContainerStatus and NodeReport as evolving
[ https://issues.apache.org/jira/browse/YARN-5130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15327546#comment-15327546 ] Steve Loughran commented on YARN-5130: -- What I really want is "changes to the YARN APIs not to break my code". While tagging things as unstable provides a warning, and accurate documentation of where we are today, it's not quite what I'd expect from the public APIs > Mark ContainerStatus and NodeReport as evolving > --- > > Key: YARN-5130 > URL: https://issues.apache.org/jira/browse/YARN-5130 > Project: Hadoop YARN > Issue Type: Improvement > Components: yarn >Affects Versions: 2.8.0 >Reporter: Steve Loughran >Assignee: Gergely Novák >Priority: Minor > Attachments: YARN-5130.001.patch > > > It turns out that slider won't build as the {{ContainerStatus}} and > {{NodeReport}} classes have added more abstract methods, so breaking the mock > objects. > While it is everyone's freedom to change things, these classes are both tagged > {code} > @Public > @Stable > {code} > Given they aren't stable, can someone mark them as {{@Evolving}}? That way > when downstream code breaks, we can be less disappointed -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-5130) Mark ContainerStatus and NodeReport as evolving
[ https://issues.apache.org/jira/browse/YARN-5130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15327386#comment-15327386 ] Sunil G commented on YARN-5130: --- Thanks [~GergelyNovak]. Given the discussion went in yarn-dev mailing list, I guess this looks fine. However, I think we can also make some changes to the newly added abstract methods in NodeReport and ContainerStatus by providing a base implementation too. Do we need to go inthis line? [~steve_l] Thoughts? cc/[~leftnoteasy] > Mark ContainerStatus and NodeReport as evolving > --- > > Key: YARN-5130 > URL: https://issues.apache.org/jira/browse/YARN-5130 > Project: Hadoop YARN > Issue Type: Improvement > Components: yarn >Affects Versions: 2.8.0 >Reporter: Steve Loughran >Assignee: Gergely Novák >Priority: Minor > Attachments: YARN-5130.001.patch > > > It turns out that slider won't build as the {{ContainerStatus}} and > {{NodeReport}} classes have added more abstract methods, so breaking the mock > objects. > While it is everyone's freedom to change things, these classes are both tagged > {code} > @Public > @Stable > {code} > Given they aren't stable, can someone mark them as {{@Evolving}}? That way > when downstream code breaks, we can be less disappointed -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-5130) Mark ContainerStatus and NodeReport as evolving
[ https://issues.apache.org/jira/browse/YARN-5130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15304036#comment-15304036 ] Hadoop QA commented on YARN-5130: - | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 16s {color} | {color:blue} Docker mode activated. {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:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s {color} | {color:red} The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 7m 4s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 23s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 12s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 32s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 11s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 4s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 39s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 22s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 20s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 20s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 9s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 25s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 8s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s {color} | {color:green} Patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 8s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 36s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 21s {color} | {color:green} hadoop-yarn-api in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 15s {color} | {color:green} Patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 14m 46s {color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Image:yetus/hadoop:2c91fd8 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12806627/YARN-5130.001.patch | | JIRA Issue | YARN-5130 | | Optional Tests | asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle | | uname | Linux 72ba829906bb 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/hadoop/patchprocess/precommit/personality/provided.sh | | git revision | trunk / bde819a | | Default Java | 1.8.0_91 | | findbugs | v3.0.0 | | Test Results | https://builds.apache.org/job/PreCommit-YARN-Build/11732/testReport/ | | modules | C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api | | Console output | https://builds.apache.org/job/PreCommit-YARN-Build/11732/console | | Powered by | Apache Yetus 0.2.0 http://yetus.apache.org | This message was automatically generated. > Mark ContainerStatus and NodeReport as evolving > --- > > Key: YARN-5130 > URL: https://issues.apache.org/jira/browse/YARN-5130 > Project: Hadoop YARN > Issue Type: Improvement > Components: yarn >Affects Versions: 2.8.0 >Reporter: Steve Loughran >Assignee: Gergely Novák >Priority: Minor > Attachments: YARN-5130.001.patch > > > It tu
[jira] [Commented] (YARN-5130) Mark ContainerStatus and NodeReport as evolving
[ https://issues.apache.org/jira/browse/YARN-5130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15304020#comment-15304020 ] Gergely Novák commented on YARN-5130: - Added patch for [~ste...@apache.org]'s suggestion. > Mark ContainerStatus and NodeReport as evolving > --- > > Key: YARN-5130 > URL: https://issues.apache.org/jira/browse/YARN-5130 > Project: Hadoop YARN > Issue Type: Improvement > Components: yarn >Affects Versions: 2.8.0 >Reporter: Steve Loughran >Assignee: Gergely Novák >Priority: Minor > Attachments: YARN-5130.001.patch > > > It turns out that slider won't build as the {{ContainerStatus}} and > {{NodeReport}} classes have added more abstract methods, so breaking the mock > objects. > While it is everyone's freedom to change things, these classes are both tagged > {code} > @Public > @Stable > {code} > Given they aren't stable, can someone mark them as {{@Evolving}}? That way > when downstream code breaks, we can be less disappointed -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org