The vote has been cancelled to address issues building on JDK 8 due to incompatible dependencies.

On 28/11/2023 8:32 pm, Istvan Toth wrote:
Francis, The PQS build issue was caused by Avatica including some newer
dependencies (Jackson, IIRC), which include JVM dependent classes. The
current maven-shade-plugin version in PQS cannot handle those JARs, and
needs to be upgraded.
This is a PQS issue, and not  something that Avatica can or should fix.

The JVM 1.8 issue is specific to building Avatica, it doesn't affect
downstream projects that simply depend on the maven binaries.
I only encountered it, because I had to build the RC locally for testing,
and I do not trust the current cross-compile settings in the build.

I have tested Sergey's patch, and it solves the problem, it doesn't look
brittle to me, most related projects have similar workarounds for handling
JVM version differences.

Two different people have hit the JVM 1.8 building issue. Sergey's patch is
a simple fix, which prevents a lot of problems for people trying to build
Avatica in the future. My suggestion is to add it to 1.24.0 .

best regards
Istvan

On Mon, Nov 27, 2023 at 11:38 PM Francis Chuang <francischu...@apache.org>
wrote:

PQS already uses Avatica 1.23.0 [1], which already had the change to
upgrade checkstyle (which in turn required a newer version of Java).

I wonder if there's something else causing the issue Istvan is seeing.

[1] https://github.com/apache/phoenix-queryserver/blob/master/pom.xml#L88

On 28/11/2023 9:25 am, Julian Hyde wrote:
Istvan,

You must read the build instructions. If you do not read the build
instructions, you have no basis for voting -1.

Fixing gradle may or may not be the solution. (It might make gradle more
complex and fragile.)

Julian


On Nov 27, 2023, at 2:08 PM, Sergey Nuyanzin <snuyan...@gmail.com>
wrote:

Meanwhile I checked the code

the root cause of the behavior above is upgrade of checkstyle version
from
6.18 to 10.3.2 [1]
which happened in 1.23.0, i.e. it is reproducible with 1.23.0

in this case, please correct me if I'm wrong, this should not be
considered
as a blocker

[1] https://issues.apache.org/jira/browse/CALCITE-5329

On Mon, Nov 27, 2023 at 9:53 PM Sergey Nuyanzin <snuyan...@gmail.com>
wrote:

I created a PR[1]
The main idea is to introduce another property jdk8.checkstyle which is
set to 9.3
before resolving dependency for checkstyle it checks the current java
version. In case of 1.8 it uses new property otherwise the old one
new property also allows to keep ability to change version for jdk8
from
command line in case it is required as "-Pjdk8.checkstyle.version=X.Y"

Also it allows to compile with jdk 8, 11, 17 without explicitly set
checkstyle version

[1] https://github.com/apache/calcite-avatica/pull/233

On Mon, Nov 27, 2023 at 8:05 PM Istvan Toth <st...@cloudera.com.invalid

wrote:

Can someone who knows Gradel make a patch to get Gradle to set
-Pcheckstyle.version=9.3 when it detects Java 1.8  ?
This is super simple in Maven with profiles, I expect that it should
not
be
very hard in Gradle either.

Also, I don't think that the exact JVM patch level has anything to do
with
this, as long as it's Java 1.8.

Istvan

On Mon, Nov 27, 2023 at 4:05 PM Guillaume Masse
<masse.guilla...@narrative.io.invalid> wrote:

Hi,

latest jdk 8 is 8u391, 8u371 is two version behind.



https://www.oracle.com/java/technologies/javase/8all-relnotes.html#R8u391-BPR




On Mon, Nov 27, 2023 at 4:21 AM Istvan Toth
<st...@cloudera.com.invalid

wrote:

-1 (non binding)

I have successfully built and run the PQS test suite with the
Avatica
RC
with Java 11.
(I had to tweak the PQS maven setup a bit, but that's not Avatica's
fault)

When I tried to do the same with Java 8, I ran into the issues
mentioned
above.
I was able to hack around the checkstyle/autostyle issue by removing
them
from gradle build files, but then I got:

==============================================
FAILURE: Build failed with an exception.

* Where:
Build file




'/home/stoty/workspaces/apache-phoenix/calcite-avatica/release/build.gradle.kts'
line: 213

* What went wrong:
Task with name 'assemble' not found in project ':release'.
==============================================
and I wasn't able to get any further. (I am no Gradle expert)

Phoenix still supports Java 8, so we need the public artifacts to be
Java 8
compatible.
I imagine Phoenix is not the only project that still supports Java
8.

While Avatica is built with

sourceCompatibility = JavaVersion.VERSION_1_8

targetCompatibility = JavaVersion.VERSION_1_8
It does not seem to set the boot classpath, which does not guarantee
actual
backwards compatibility.
Depending on the Java APIs used, the generated code may or may not
work
on
Java 8 JVMs.

The easy workaround is to use the -release flag instead, but that
doesn't
work on Java 8, so this needs
some hacking of the build system.

best regards
Istvan


On Mon, Nov 27, 2023 at 7:13 AM Benchao Li <libenc...@apache.org>
wrote:

Thanks Francis for pointing it out, '-Pcheckstyle.version=9.3'
works
fine.

My vote is +1 (binding).

Francis Chuang <francischu...@apache.org> 于2023年11月27日周一 13:12写道:

I think we need to force an older version of Checkstyle when using
JDK8.
See:





https://issues.apache.org/jira/browse/CALCITE-5329?focusedCommentId=17628456&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17628456

On 27/11/2023 3:55 pm, Benchao Li wrote:
- Verified checksum and signature (OK)
- Gone through release note (OK)
- Diffed source release with git repo (OK)
- Checked files in Nexus (OK)
- Compile and test sources with JDK8 (NOT SURE)

While compiling the sources with JDK8, I've encountered:
$java -version
java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.371-b11, mixed mode)
$./gradlew build
FAILURE: Build completed with 5 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':metrics:checkstyleMain'.
A failure occurred while executing
org.gradle.api.plugins.quality.internal.CheckstyleAction
com/puppycrawl/tools/checkstyle/ant/CheckstyleAntTask has
been
compiled by a more recent version of the Java Runtime (class
file
version 55.0), this version of the Java Runtime only recognizes
class
file versions up to 52.0

Francis Chuang <francischu...@apache.org> 于2023年11月27日周一
07:54写道:

Hi all,

I have created a build for Apache Calcite Avatica 1.24.0,
release
candidate 0.

Thanks to everyone who has contributed to this release.

You can read the release notes here:





https://github.com/apache/calcite-avatica/blob/avatica-1.24.0-rc0/site/_docs/history.md

The commit to be voted upon:





https://gitbox.apache.org/repos/asf?p=calcite-avatica.git;a=commit;h=01a7a9e956b3fe8ad999a5b82e5d9924434cb309

Its hash is 01a7a9e956b3fe8ad999a5b82e5d9924434cb309

Tag:

https://github.com/apache/calcite-avatica/tree/avatica-1.24.0-rc0

The artifacts to be voted on are located here:





https://dist.apache.org/repos/dist/dev/calcite/apache-calcite-avatica-1.24.0-rc0

The hashes of the artifacts are as follows:





927707b23a1338105fbb9d0a9a1836baf3e95e20002407b483b8f663927c5d41d844b2a09ec2cd1e580ae2e29d930ad32ee308d0d04550c35d8daefa7ad777c3
*apache-calcite-avatica-1.24.0-src.tar.gz

A staged Maven repository is available for review at:





https://repository.apache.org/content/repositories/orgapachecalcite-1221/org/apache/calcite/

Release artifacts are signed with the following key:
https://people.apache.org/keys/committer/francischuang.asc
https://www.apache.org/dist/calcite/KEYS

To create the jars and test Apache Calcite Avatica: "gradle
build
-Prelease -PskipSign".

If you do not have a Java/Gradle environment available, you can
run
the
tests using docker. To do so, install docker and
docker-compose,
then
run "docker-compose run test" from the root of the directory.

Please vote on releasing this package as Apache Calcite Avatica
1.24.0.

The vote is open for the next 72 hours and passes if a
majority of
at
least three +1 PMC votes are cast.

[ ] +1 Release this package as Apache Calcite Avatica 1.24.0
[ ]  0 I don't feel strongly about it, but I'm okay with the
release
[ ] -1 Do not release this package because...


Here is my vote:

+1 (binding)

Francis






--

Best,
Benchao Li



--
*István Tóth* | Sr. Staff Software Engineer
*Email*: st...@cloudera.com
cloudera.com <https://www.cloudera.com>
[image: Cloudera] <https://www.cloudera.com/>
[image: Cloudera on Twitter] <https://twitter.com/cloudera> [image:
Cloudera on Facebook] <https://www.facebook.com/cloudera> [image:
Cloudera
on LinkedIn] <https://www.linkedin.com/company/cloudera>
------------------------------
------------------------------




--
*István Tóth* | Sr. Staff Software Engineer
*Email*: st...@cloudera.com
cloudera.com <https://www.cloudera.com>
[image: Cloudera] <https://www.cloudera.com/>
[image: Cloudera on Twitter] <https://twitter.com/cloudera> [image:
Cloudera on Facebook] <https://www.facebook.com/cloudera> [image:
Cloudera
on LinkedIn] <https://www.linkedin.com/company/cloudera>
------------------------------
------------------------------



--
Best regards,
Sergey



--
Best regards,
Sergey




Reply via email to