My vote is: +1 (binding)
- Verified GPG signature - OK
- Verified SHA512 - OK
- Diffed source release and git repository - OK
- Checked release notes on tag
(https://github.com/apache/calcite/blob/calcite-1.37.0-rc4/site/_docs/history.md)
- OK
- Checked year and versions in NOTICE, README and HOWTO - OK
- Ran tests (gradle check) - OK
- Spot checked Nexus artifacts - OK
Environments:
Eclipse-temurin:8 docker container in WSL2 (Ubuntu 22.04.4) on Windows
11 23h2
Eclipse-temurin:19 docker container in WSL2 (Ubuntu 22.04.4) on Windows
11 23h2
$ docker version
Client:
Cloud integration: v1.0.35+desktop.13
Version: 26.0.0
API version: 1.45
Go version: go1.21.8
Git commit: 2ae903e
Built: Wed Mar 20 15:16:45 2024
OS/Arch: linux/amd64
Context: default
Server: Docker Desktop
Engine:
Version: 26.0.0
API version: 1.45 (minimum version 1.24)
Go version: go1.21.8
Git commit: 8b79278
Built: Wed Mar 20 15:18:01 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.28
GitCommit: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e94
docker-init:
Version: 0.19.0
GitCommit: de40ad0
$ gradle -v
------------------------------------------------------------
Gradle 7.6.1
------------------------------------------------------------
Build time: 2023-02-24 13:54:42 UTC
Revision: 3905fe8ac072bbd925c70ddbddddf4463341f4b4
Kotlin: 1.7.10
Groovy: 3.0.13
Ant: Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM: 19.0.2 (Eclipse Adoptium 19.0.2+7)
OS: Linux 5.15.146.1-microsoft-standard-WSL2 amd64
$ java -version
openjdk version "1.8.0_402"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_402-b06)
OpenJDK 64-Bit Server VM (Temurin)(build 25.402-b06, mixed mode)
$ java -version
openjdk version "19.0.2" 2023-01-17
OpenJDK Runtime Environment Temurin-19.0.2+7 (build 19.0.2+7)
OpenJDK 64-Bit Server VM Temurin-19.0.2+7 (build 19.0.2+7, mixed mode,
sharing)
Francis
On 30/04/2024 6:35 pm, Stamatis Zampetakis wrote:
Ubuntu 20.04.6 LTS, jdk1.8.0_261, Gradle wrapper, Gradle 7.6.1
* Checked signatures and checksums OK
* Checked diff between repo and artifacts OK
* Checked README, NOTICE, LICENSE OK
* All source files have ASF headers OK ( grep -RiL "Licensed to the
Apache Software Foundation")
* No unexpected binary files OK (find . -type f -exec file {} \; |
grep -v text)
* Checked structure of staged maven repo for calcite-core [1] OK
* Checked LICENSE, NOTICE, signature, and checksum for
calcite-core-1.37.0.jar from staged maven repo [1] OK
* Built from git tag and run tests (./gradlew build) OK
* Built from source artifacts and run tests (gradle build) OK
+1 (binding)
For the ASM problem, I would suggest opening a JIRA ticket and
continuing the discussion there. I found the previous discussion [2]
but not a ticket for this. We should try to keep vote threads as clean
as possible and keep technical exchanges on separate threads/tickets.
The main deliverable of this vote is the source package distribution
so I don't consider this a blocker for the release especially since
this has popped up before and was left untreated.
Best,
Stamatis
[1]
https://repository.apache.org/content/repositories/orgapachecalcite-1230/org/apache/calcite/calcite-core/1.37.0/
[2] https://lists.apache.org/thread/o736wz4qnr4l285bj5gv073cy0qll9t0
On Tue, Apr 30, 2024 at 9:50 AM Ruben Q L <rube...@gmail.com> wrote:
Thanks Guillaume for checking this!
When I looked at this issue on 1.36, I had the impression that assertions
might have a role to play in the error, but I could not confirm this
hypothesis.
IMO this smells like a JDK bug (or at least it looks like other resolved
issues); note that it seems we had some similar problems in the past with
older Java8 versions [1].
Independently of the root cause, would it unblock the release process if we
just remove the problematic asserts, or if we substitute them with an
equivalent `if (...) throw new IllegalStateException("...");` ?
Best,
Ruben
[1]
https://github.com/apache/calcite/blob/1506857f404037b63dfd8a11880393b767bd1544/build.gradle.kts#L98
On Mon, Apr 29, 2024 at 11:26 PM Sergey Nuyanzin <snuyan...@gmail.com>
wrote:
Hi Guilluame,
I played a bit more and I realised that if from commit above I just remove
one line with assert (assert map != null)
then ArrayIndexOutOfBoundsException disappears
same for current main branch, if I remove all lines from SqlFunctions with
assert (now there are 3 such lines) then
ArrayIndexOutOfBoundsException disappears
Thus, it does not look like a Calcite issue, more like a problem on ASM
side
please correct me if I'm wrong
On Mon, Apr 29, 2024 at 10:33 PM Sergey Nuyanzin <snuyan...@gmail.com>
wrote:
i follow the procedure described here
https://calcite.apache.org/docs/howto.html#making-a-release-candidate
started
btw I played a bit with git bisect and it shows that the issue
java.lang.ArrayIndexOutOfBoundsException: Index 65536 out of bounds
for length 297 at
org.objectweb.asm.ClassReader.readLabel(ClassReader.java:2695) at
org.objectweb.asm.ClassReader.createLabel(ClassReader.java:2711)
started appearing after this commit
https://github.com/apache/calcite/commit/bcf6bd8577b25c563b1c597c70704594a18ca1a3
On Mon, Apr 29, 2024 at 10:01 PM Guillaume Masse
<masse.guilla...@narrative.io.invalid> wrote:
Hi Sergey,
thanks for trying that update
I confirm I have the same issue with your release at
https://repository.apache.org/content/repositories/orgapachecalcite-1231/org/apache/calcite/
https://github.com/MasseGuillaume/asm-remapper-bug/commit/852e4cd246d278db8acf5e997a54619bc4f85fc7
This rules out one of my hypothesis on the java build version.
Can you point me to the release procedure you are using? I saw
https://calcite.apache.org/develop/#contributing is there more precise
steps?
On Mon, Apr 29, 2024 at 3:27 PM Sergey Nuyanzin <snuyan...@gmail.com>
wrote:
I repeated same procedure with jdk1.8u412
here you can find the jars
https://repository.apache.org/content/repositories/orgapachecalcite-1231/org/apache/calcite/
it looks like asm-remapper gives the same result...
On Mon, Apr 29, 2024 at 8:41 PM Guillaume Masse
<masse.guilla...@narrative.io.invalid> wrote:
If you take a look at
https://www.openlogic.com/openjdk-downloads?field_java_parent_version_target_id=416&field_operating_system_target_id=426&field_architecture_target_id=391&field_java_package_target_id=All
The most recent release is 8u412-b08
If it follows more or less the openjdk schedule:
https://wiki.openjdk.org/display/jdk8u/Main
*Most recent and past release details:*
- 8u412-b08 (GA), April 16th 2024 [Release <
https://bit.ly/openjdk8u412
]
[Tag <https://github.com/openjdk/jdk8u/releases/tag/jdk8u412-ga
]
[
Binaries
<
https://github.com/adoptium/temurin8-binaries/releases/tag/jdk8u412-b08
]
- 8u402-b06 (GA), January 16th 2024 [Release
<https://bit.ly/openjdk8u402>] [Tag
<https://github.com/openjdk/jdk8u/releases/tag/jdk8u402-ga>]
[Binaries
<
https://github.com/adoptium/temurin8-binaries/releases/tag/jdk8u402-b06
]
- 8u392-b08 (GA), October 17th 2023 [Release
<https://bit.ly/openjdk8u392>] [Tag
<https://github.com/openjdk/jdk8u/releases/tag/jdk8u392-ga>]
[Binaries
<
https://github.com/adoptium/temurin8-binaries/releases/tag/jdk8u392-b08
]
- 8u382-b05 (GA), July 18th 2023 [Release <
https://bit.ly/openjdk8u382
]
[Tag <https://github.com/openjdk/jdk8u/releases/tag/jdk8u382-ga
]
[
Binaries
<
https://github.com/adoptium/temurin8-binaries/releases/tag/jdk8u382-b05
]
- 8u372-b07 (GA), April 18th 2023 [Release <
https://bit.ly/openjdk8u372
]
[Tag <https://github.com/openjdk/jdk8u/releases/tag/jdk8u372-ga
]
[
Binaries
<
https://github.com/adoptium/temurin8-binaries/releases/tag/jdk8u372-b07
]
This means your java version is from April 2023. Can you try to
update
your
system to the latest build 8u412-b08 and publish the jarfile
somewhere I
can test ?
On Mon, Apr 29, 2024 at 2:25 PM Sergey Nuyanzin <
snuyan...@gmail.com>
wrote:
Thanks for testing Guillaume
Sergey can you give me all the details about your build
environment
so I
can reproduce that bytecode?
OS / java --version
yep, sure
Ubuntu 22.04.4 LTS,
1.8.0_372-372 (OpenLogic-OpenJDK 25.372-b07)
I will also try to look at it with my set up and the info you've
provided
On Mon, Apr 29, 2024 at 8:03 PM Guillaume Masse
<masse.guilla...@narrative.io.invalid> wrote:
-1 (not binding)
The bytecode of classfile
org/apache/calcite/runtime/SqlFunctions.class
is
invalid (and only this classfile)
I tested all class files from the following artifacts:
calcite-core-1.37.0.jar
calcite-linq4j-1.37.0.jar
avatica-core-1.25.0.jar
avatica-metrics-1.25.0.jar
This will prevent bytecode tools like asm (https://asm.ow2.io/)
from
transforming calcite bytecode (for example shading a
dependency).
See
https://gitlab.ow2.org/asm/asm/-/issues/318008
https://lists.apache.org/thread/nrt4ysoc14p20sq23z744jyfqh1bznyh
To reproduce
https://github.com/MasseGuillaume/asm-remapper-bug
Sergey can you give me all the details about your build
environment
so
I
can reproduce that bytecode?
OS / java --version
I do not have the root cause of the issue.
I suspect it's related to import
org.checkerframework.checker.nullness.qual.Nullable
On Mon, Apr 29, 2024 at 10:56 AM Sergey Nuyanzin <
snuyan...@gmail.com>
wrote:
Hi all,
The issue CALCITE-6390 with failing of Arrow Adapter tests on
Windows
while
building from source is fixed.
Thanks a lot to Caican Can for highlighting the issue
Stamatis for quick PR
and Ruben and Alessandro for the review!
I have created a build for Apache Calcite 1.37.0, release
candidate 4.
Thanks to everyone who has contributed to this release.
You can read the release notes here:
https://github.com/apache/calcite/blob/calcite-1.37.0-rc4/site/_docs/history.md
The commit to be voted upon:
https://gitbox.apache.org/repos/asf?p=calcite.git;a=commit;h=044db3d72ee53c1a82ce68b0c2a9b4f0bed81f18
Its hash is 044db3d72ee53c1a82ce68b0c2a9b4f0bed81f18
Tag:
https://github.com/apache/calcite/tree/calcite-1.37.0-rc4
The artifacts to be voted on are located here:
https://dist.apache.org/repos/dist/dev/calcite/apache-calcite-1.37.0-rc4
(revision 68857)
The hashes of the artifacts are as follows:
a6ae7ea1ebbab3e5b723122c9517412d74b6bccba9fb41d360f7c2262ed7f26e5a4cc861a711d4813d27d72a0ffd086ae3a9175abc3c874b079137c84d13f83a
*apache-calcite-1.37.0-src.tar.gz
A staged Maven repository is available for review at:
https://repository.apache.org/content/repositories/orgapachecalcite-1230/org/apache/calcite/
Release artifacts are signed with the following key:
https://people.apache.org/keys/committer/snuyanzin.asc
https://www.apache.org/dist/calcite/KEYS
To create the jars and test Apache Calcite: "gradle build"
(requires an appropriate Gradle/JDK installation)
Please vote on releasing this package as Apache Calcite
1.37.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 1.37.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)
--
Best regards,
Sergey
--
Best regards,
Sergey
--
Best regards,
Sergey
--
Best regards,
Sergey
--
Best regards,
Sergey