[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17539921#comment-17539921 ] Hudson commented on HBASE-25465: Results for branch branch-2.4 [build #354 on builds.a.o|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.4/354/]: (/) *{color:green}+1 overall{color}* details (if available): (/) {color:green}+1 general checks{color} -- For more information [see general report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.4/354/General_20Nightly_20Build_20Report/] (/) {color:green}+1 jdk8 hadoop2 checks{color} -- For more information [see jdk8 (hadoop2) report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.4/354/JDK8_20Nightly_20Build_20Report_20_28Hadoop2_29/] (/) {color:green}+1 jdk8 hadoop3 checks{color} -- For more information [see jdk8 (hadoop3) report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.4/354/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/] (/) {color:green}+1 jdk11 hadoop3 checks{color} -- For more information [see jdk11 report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.4/354/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/] (/) {color:green}+1 source release artifact{color} -- See build output for details. (/) {color:green}+1 client integration test{color} > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Duo Zhang >Priority: Minor > Fix For: 2.5.0, 3.0.0-alpha-3, 2.4.13 > > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17537336#comment-17537336 ] Viraj Jasani commented on HBASE-25465: -- Thank you for all the pointers [~ndimiduk] [~apurtell], let me get started on this tomorrow. Will come up with a PR with two backport commits, if Jenkins QA is happy and we get sufficient +1s, will merge both backport commits separately on branch-2.4 and update fix versions of the Jiras accordingly. > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Duo Zhang >Priority: Minor > Fix For: 2.5.0, 3.0.0-alpha-3 > > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17536953#comment-17536953 ] Andrew Kyle Purtell commented on HBASE-25465: - [~vjasani] Like [~ndimiduk] says, you need HBASE-26523 (which was HBASE-25864) or else hbase-http will break, and HBASE-26855 is a related cleanup. Otherwise I think things will work as-is > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Duo Zhang >Priority: Minor > Fix For: 2.5.0, 3.0.0-alpha-3 > > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17536609#comment-17536609 ] Nick Dimiduk commented on HBASE-25465: -- There were other changes to hbase-http, but that was in support of HBASE-25895, which I don't think you want to backport. > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Duo Zhang >Priority: Minor > Fix For: 2.5.0, 3.0.0-alpha-3 > > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17536607#comment-17536607 ] Nick Dimiduk commented on HBASE-25465: -- You might also grab HBASE-26855 while you're in there. > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Duo Zhang >Priority: Minor > Fix For: 2.5.0, 3.0.0-alpha-3 > > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17536606#comment-17536606 ] Nick Dimiduk commented on HBASE-25465: -- HBASE-25864 (closed without a commit) was superseded by HBASE-26523 (much more than just a version number increment). Upgrading the hbase-thirdparty version requires that you also switch to the shaded versions of the JSR implementations. > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Duo Zhang >Priority: Minor > Fix For: 2.5.0, 3.0.0-alpha-3 > > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17536286#comment-17536286 ] Viraj Jasani commented on HBASE-25465: -- Got it, let me explore if I can find it, I thought it was HBASE-25864 but then it's marked resolved without requiring any commits. cc [~ndimiduk] > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Duo Zhang >Priority: Minor > Fix For: 2.5.0, 3.0.0-alpha-3 > > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17536282#comment-17536282 ] Andrew Kyle Purtell commented on HBASE-25465: - [~vjasani] I believe there is a patch to hbase-http that [~ndimiduk] landed that is also required in order to apply HBASE-26523 , but I do not recall the specific issue. > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Duo Zhang >Priority: Minor > Fix For: 2.5.0, 3.0.0-alpha-3 > > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17536275#comment-17536275 ] Viraj Jasani commented on HBASE-25465: -- In order to backport this to 2.4 release line, we need to backport HBASE-26523 followed by HBASE-25465 to branch-2.4. Sounds good [~zhangduo] [~apurtell] ? I will come up with PRs, maybe I can create separate Jira to backport both of above to branch-2.4 together? > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Duo Zhang >Priority: Minor > Fix For: 2.5.0, 3.0.0-alpha-3 > > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17505899#comment-17505899 ] Hudson commented on HBASE-25465: Results for branch branch-2.5 [build #62 on builds.a.o|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/62/]: (x) *{color:red}-1 overall{color}* details (if available): (/) {color:green}+1 general checks{color} -- For more information [see general report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/62/General_20Nightly_20Build_20Report/] (/) {color:green}+1 jdk8 hadoop2 checks{color} -- For more information [see jdk8 (hadoop2) report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/62/JDK8_20Nightly_20Build_20Report_20_28Hadoop2_29/] (/) {color:green}+1 jdk8 hadoop3 checks{color} -- For more information [see jdk8 (hadoop3) report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/62/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/] (x) {color:red}-1 jdk11 hadoop3 checks{color} -- For more information [see jdk11 report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/62/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/] (x) {color:red}-1 source release artifact{color} -- See build output for details. (x) {color:red}-1 client integration test{color} -- Something went wrong with this stage, [check relevant console output|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2.5/62//console]. > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Duo Zhang >Priority: Minor > Fix For: 2.5.0, 2.6.0, 3.0.0-alpha-3 > > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17505896#comment-17505896 ] Hudson commented on HBASE-25465: Results for branch master [build #534 on builds.a.o|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/534/]: (x) *{color:red}-1 overall{color}* details (if available): (/) {color:green}+1 general checks{color} -- For more information [see general report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/534/General_20Nightly_20Build_20Report/] (/) {color:green}+1 jdk8 hadoop3 checks{color} -- For more information [see jdk8 (hadoop3) report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/534/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/] (x) {color:red}-1 jdk11 hadoop3 checks{color} -- For more information [see jdk11 report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/534/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/] (/) {color:green}+1 source release artifact{color} -- See build output for details. (/) {color:green}+1 client integration test{color} > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Duo Zhang >Priority: Minor > Fix For: 2.5.0, 2.6.0, 3.0.0-alpha-3 > > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17505398#comment-17505398 ] Hudson commented on HBASE-25465: Results for branch branch-2 [build #482 on builds.a.o|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2/482/]: (x) *{color:red}-1 overall{color}* details (if available): (x) {color:red}-1 general checks{color} -- For more information [see general report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2/482/General_20Nightly_20Build_20Report/] (x) {color:red}-1 jdk8 hadoop2 checks{color} -- For more information [see jdk8 (hadoop2) report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2/482/JDK8_20Nightly_20Build_20Report_20_28Hadoop2_29/] (x) {color:red}-1 jdk8 hadoop3 checks{color} -- For more information [see jdk8 (hadoop3) report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2/482/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/] (x) {color:red}-1 jdk11 hadoop3 checks{color} -- For more information [see jdk11 report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2/482/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/] (x) {color:red}-1 source release artifact{color} -- See build output for details. (x) {color:red}-1 client integration test{color} -- Something went wrong with this stage, [check relevant console output|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-2/482//console]. > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Duo Zhang >Priority: Minor > Fix For: 2.5.0, 2.6.0, 3.0.0-alpha-3 > > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17501620#comment-17501620 ] Duo Zhang commented on HBASE-25465: --- I've opened a PR using the staging thirdparty 4.1.0 release. https://github.com/apache/hbase/pull/4164 PTAL. Thanks. > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Duo Zhang >Priority: Minor > Fix For: 2.5.0, 2.6.0, 3.0.0-alpha-3 > > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17501593#comment-17501593 ] Andrew Kyle Purtell commented on HBASE-25465: - On @dev [~zhangduo] thinks he has a solution and might open a PR for this after the next hbase-thirdparty release. > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Priority: Minor > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17468880#comment-17468880 ] Andrew Kyle Purtell commented on HBASE-25465: - JDK-8214165 seems to closed in favor of [JDK-8206937|https://bugs.openjdk.java.net/browse/JDK-8206937] which is the same blocker. That's unfortunate. > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Nick Dimiduk >Priority: Minor > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17468868#comment-17468868 ] Nick Dimiduk commented on HBASE-25465: -- I'm pretty sure this will not work with today's version of JDK11 ; we appear to be blocked by [JDK-8214165 |https://bugs.openjdk.java.net/browse/JDK-8214165] > Use javac --release option for supporting cross version compilation > --- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Nick Dimiduk >Priority: Minor > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation in create-release
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17468775#comment-17468775 ] Nick Dimiduk commented on HBASE-25465: -- See also HBASE-26645. > Use javac --release option for supporting cross version compilation in > create-release > - > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Affects Versions: 3.0.0-alpha-3 >Reporter: Andrew Kyle Purtell >Assignee: Nick Dimiduk >Priority: Minor > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation in create-release
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17259325#comment-17259325 ] Nick Dimiduk commented on HBASE-25465: -- "If it actually works" :) > Use javac --release option for supporting cross version compilation in > create-release > - > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Reporter: Andrew Kyle Purtell >Priority: Minor > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation in create-release
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17259319#comment-17259319 ] Sean Busbey commented on HBASE-25465: - Nice! If this works we could remove our enforcer rule around release jvm. Pom profile sounds like the way to go. > Use javac --release option for supporting cross version compilation in > create-release > - > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Reporter: Andrew Kyle Purtell >Priority: Minor > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation in create-release
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17259295#comment-17259295 ] Michael Stack commented on HBASE-25465: --- create-release should make use of this. Thanks for pointer. > Use javac --release option for supporting cross version compilation in > create-release > - > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release >Reporter: Andrew Kyle Purtell >Priority: Minor > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation in create-release
[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17259195#comment-17259195 ] Andrew Kyle Purtell commented on HBASE-25465: - Not sure if this is of any interest but I thought I'd pass it along [~stack] [~ndimiduk] [~busbey] > Use javac --release option for supporting cross version compilation in > create-release > - > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement >Reporter: Andrew Kyle Purtell >Priority: Minor > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.3.4#803005)