[jira] [Commented] (HBASE-25465) Use javac --release option for supporting cross version compilation

2022-05-19 Thread Hudson (Jira)


[ 
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

2022-05-15 Thread Viraj Jasani (Jira)


[ 
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

2022-05-13 Thread Andrew Kyle Purtell (Jira)


[ 
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

2022-05-13 Thread Nick Dimiduk (Jira)


[ 
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

2022-05-13 Thread Nick Dimiduk (Jira)


[ 
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

2022-05-13 Thread Nick Dimiduk (Jira)


[ 
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

2022-05-12 Thread Viraj Jasani (Jira)


[ 
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

2022-05-12 Thread Andrew Kyle Purtell (Jira)


[ 
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

2022-05-12 Thread Viraj Jasani (Jira)


[ 
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

2022-03-13 Thread Hudson (Jira)


[ 
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

2022-03-13 Thread Hudson (Jira)


[ 
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

2022-03-12 Thread Hudson (Jira)


[ 
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

2022-03-04 Thread Duo Zhang (Jira)


[ 
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

2022-03-04 Thread Andrew Kyle Purtell (Jira)


[ 
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

2022-01-04 Thread Andrew Kyle Purtell (Jira)


[ 
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

2022-01-04 Thread Nick Dimiduk (Jira)


[ 
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

2022-01-04 Thread Nick Dimiduk (Jira)


[ 
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

2021-01-05 Thread Nick Dimiduk (Jira)


[ 
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

2021-01-05 Thread Sean Busbey (Jira)


[ 
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

2021-01-05 Thread Michael Stack (Jira)


[ 
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

2021-01-05 Thread Andrew Kyle Purtell (Jira)


[ 
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)