Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: [Release] Verify release-15.0.1-rc0 #40211

Merged
merged 7 commits into from
Mar 7, 2024
Merged

Conversation

raulcd
Copy link
Member

@raulcd raulcd commented Feb 23, 2024

PR to verify Release Candidate

pitrou and others added 7 commits February 21, 2024 10:50
Sometimes, mamba might select PyPy over CPython in certain environment upgrade/downgrade scenarios.

* Closes: #40112

Lead-authored-by: Antoine Pitrou <[email protected]>
Co-authored-by: Uwe L. Korn <[email protected]>
Signed-off-by: Antoine Pitrou <[email protected]>
…39969)

### Rationale for this change

The integration tests and documentation build is failing

### What changes are included in this PR?

Instead of relying on how reticulate converts an R external pointer, use a Python integer instead. We can't use an R integer (because they're only 32 bits); we can't use an R double (because the static cast to/from uintptr_t is a bit iffy); however, we can use Python to convert a string to Python integer. This is probably how I should have written it the first time but it didn't occur to me at the time.

### Are these changes tested?

Yes, covered by existing tests.

### Are there any user-facing changes?

No
* Closes: #39933

Lead-authored-by: Dewey Dunnington <[email protected]>
Co-authored-by: Dewey Dunnington <[email protected]>
Signed-off-by: Dewey Dunnington <[email protected]>
### Rationale for this change

While #39969 fixed the immediate issue caused by the update of the capsule name used by reticulate whilst converting an R "external pointer", it will still result in an error if somebody is using an older version of the Arrow R package.

### What changes are included in this PR?

The pyarrow Cython code was modified to accept capsules with the name NULL or "r_extptr".

### Are these changes tested?

Not sure where the best place for this is, but:

CRAN arrow + released pyarrow + new reticulate (errors):

``` r
library(arrow, warn.conflicts = FALSE)
reticulate::use_virtualenv("~/Desktop/rscratch/arrow/.venv")
packageVersion("arrow")
#> [1] '14.0.0.2'
packageVersion("reticulate")
#> [1] '1.35.0'
pa <- reticulate::import("pyarrow")
pa[["__version__"]]
#> [1] "15.0.0"

reticulate::r_to_py(arrow::int32())
#> PyCapsule_GetPointer called with incorrect name
```

CRAN arrow + pyarrow from this PR + old reticulate:

``` r
library(arrow, warn.conflicts = FALSE)
reticulate::use_virtualenv("~/Desktop/rscratch/arrow/.venv")
packageVersion("arrow")
#> [1] '14.0.0.2'
packageVersion("reticulate")
#> [1] '1.34.0'
pa <- reticulate::import("pyarrow")
pa[["__version__"]]
#> [1] "16.0.0.dev92+geafcff7a5"

reticulate::r_to_py(arrow::int32())
#> DataType(int32)
```

CRAN arrow + pyarrow from this PR + new reticulate:

``` r
library(arrow, warn.conflicts = FALSE)
reticulate::use_virtualenv("~/Desktop/rscratch/arrow/.venv")
packageVersion("arrow")
#> [1] '14.0.0.2'
packageVersion("reticulate")
#> [1] '1.35.0'
pa <- reticulate::import("pyarrow")
pa[["__version__"]]
#> [1] "16.0.0.dev92+geafcff7a5"

reticulate::r_to_py(arrow::int32())
#> DataType(int32)
```

### Are there any user-facing changes?

No
* Closes: #39942

Lead-authored-by: Dewey Dunnington <[email protected]>
Co-authored-by: Dewey Dunnington <[email protected]>
Co-authored-by: Antoine Pitrou <[email protected]>
Co-authored-by: Joris Van den Bossche <[email protected]>
Signed-off-by: Dewey Dunnington <[email protected]>
…ng (#40175)

### Rationale for this change

Remove `ThrowsMessage` for CI build.

### What changes are included in this PR?

Remove `ThrowsMessage` for CI build.

### Are these changes tested?

no need

### Are there any user-facing changes?

no

* Closes: #40174

Authored-by: mwish <[email protected]>
Signed-off-by: Antoine Pitrou <[email protected]>
@raulcd
Copy link
Member Author

raulcd commented Feb 23, 2024

@github-actions crossbow submit --group verify-rc-source --param release=15.0.1 --param rc=0

@raulcd
Copy link
Member Author

raulcd commented Feb 23, 2024

Revision: 5ce6ff4

Submitted crossbow builds: ursacomputing/crossbow @ release-15.0.1-rc0-0

Task Status
almalinux-8-amd64 GitHub Actions
almalinux-8-arm64 GitHub Actions
almalinux-9-amd64 GitHub Actions
almalinux-9-arm64 GitHub Actions
amazon-linux-2023-amd64 GitHub Actions
amazon-linux-2023-arm64 GitHub Actions
centos-7-amd64 GitHub Actions
centos-8-stream-amd64 GitHub Actions
centos-8-stream-arm64 GitHub Actions
centos-9-stream-amd64 GitHub Actions
centos-9-stream-arm64 GitHub Actions
conan-maximum GitHub Actions
conan-minimum GitHub Actions
debian-bookworm-amd64 GitHub Actions
debian-bookworm-arm64 GitHub Actions
debian-bullseye-amd64 GitHub Actions
debian-bullseye-arm64 GitHub Actions
debian-trixie-amd64 GitHub Actions
debian-trixie-arm64 GitHub Actions
java-jars GitHub Actions
nuget GitHub Actions
python-sdist GitHub Actions
r-binary-packages GitHub Actions
test-ubuntu-22.04-docs GitHub Actions
ubuntu-focal-amd64 GitHub Actions
ubuntu-focal-arm64 GitHub Actions
ubuntu-jammy-amd64 GitHub Actions
ubuntu-jammy-arm64 GitHub Actions
ubuntu-mantic-amd64 GitHub Actions
ubuntu-mantic-arm64 GitHub Actions
wheel-macos-big-sur-cp310-arm64 GitHub Actions
wheel-macos-big-sur-cp311-arm64 GitHub Actions
wheel-macos-big-sur-cp312-arm64 GitHub Actions
wheel-macos-big-sur-cp38-arm64 GitHub Actions
wheel-macos-big-sur-cp39-arm64 GitHub Actions
wheel-macos-catalina-cp310-amd64 GitHub Actions
wheel-macos-catalina-cp311-amd64 GitHub Actions
wheel-macos-catalina-cp312-amd64 GitHub Actions
wheel-macos-catalina-cp38-amd64 GitHub Actions
wheel-macos-catalina-cp39-amd64 GitHub Actions
wheel-manylinux-2-28-cp310-amd64 GitHub Actions
wheel-manylinux-2-28-cp310-arm64 GitHub Actions
wheel-manylinux-2-28-cp311-amd64 GitHub Actions
wheel-manylinux-2-28-cp311-arm64 GitHub Actions
wheel-manylinux-2-28-cp312-amd64 GitHub Actions
wheel-manylinux-2-28-cp312-arm64 GitHub Actions
wheel-manylinux-2-28-cp38-amd64 GitHub Actions
wheel-manylinux-2-28-cp38-arm64 GitHub Actions
wheel-manylinux-2-28-cp39-amd64 GitHub Actions
wheel-manylinux-2-28-cp39-arm64 GitHub Actions
wheel-manylinux-2014-cp310-amd64 GitHub Actions
wheel-manylinux-2014-cp310-arm64 GitHub Actions
wheel-manylinux-2014-cp311-amd64 GitHub Actions
wheel-manylinux-2014-cp311-arm64 GitHub Actions
wheel-manylinux-2014-cp312-amd64 GitHub Actions
wheel-manylinux-2014-cp312-arm64 GitHub Actions
wheel-manylinux-2014-cp38-amd64 GitHub Actions
wheel-manylinux-2014-cp38-arm64 GitHub Actions
wheel-manylinux-2014-cp39-amd64 GitHub Actions
wheel-manylinux-2014-cp39-arm64 GitHub Actions
wheel-windows-cp310-amd64 GitHub Actions
wheel-windows-cp311-amd64 GitHub Actions
wheel-windows-cp312-amd64 GitHub Actions
wheel-windows-cp38-amd64 GitHub Actions
wheel-windows-cp39-amd64 GitHub Actions

Copy link

Revision: 5ce6ff4

Submitted crossbow builds: ursacomputing/crossbow @ actions-48134e40c7

Task Status
verify-rc-source-cpp-linux-almalinux-8-amd64 GitHub Actions
verify-rc-source-cpp-linux-conda-latest-amd64 GitHub Actions
verify-rc-source-cpp-linux-ubuntu-20.04-amd64 GitHub Actions
verify-rc-source-cpp-linux-ubuntu-22.04-amd64 GitHub Actions
verify-rc-source-cpp-macos-amd64 GitHub Actions
verify-rc-source-cpp-macos-arm64 GitHub Actions
verify-rc-source-cpp-macos-conda-amd64 GitHub Actions
verify-rc-source-csharp-linux-almalinux-8-amd64 GitHub Actions
verify-rc-source-csharp-linux-conda-latest-amd64 GitHub Actions
verify-rc-source-csharp-linux-ubuntu-20.04-amd64 GitHub Actions
verify-rc-source-csharp-linux-ubuntu-22.04-amd64 GitHub Actions
verify-rc-source-csharp-macos-amd64 GitHub Actions
verify-rc-source-csharp-macos-arm64 GitHub Actions
verify-rc-source-go-linux-almalinux-8-amd64 GitHub Actions
verify-rc-source-go-linux-conda-latest-amd64 GitHub Actions
verify-rc-source-go-linux-ubuntu-20.04-amd64 GitHub Actions
verify-rc-source-go-linux-ubuntu-22.04-amd64 GitHub Actions
verify-rc-source-go-macos-amd64 GitHub Actions
verify-rc-source-go-macos-arm64 GitHub Actions
verify-rc-source-integration-linux-almalinux-8-amd64 GitHub Actions
verify-rc-source-integration-linux-conda-latest-amd64 GitHub Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64 GitHub Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64 GitHub Actions
verify-rc-source-integration-macos-amd64 GitHub Actions
verify-rc-source-integration-macos-arm64 GitHub Actions
verify-rc-source-integration-macos-conda-amd64 GitHub Actions
verify-rc-source-java-linux-almalinux-8-amd64 GitHub Actions
verify-rc-source-java-linux-conda-latest-amd64 GitHub Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64 GitHub Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64 GitHub Actions
verify-rc-source-java-macos-amd64 GitHub Actions
verify-rc-source-js-linux-almalinux-8-amd64 GitHub Actions
verify-rc-source-js-linux-conda-latest-amd64 GitHub Actions
verify-rc-source-js-linux-ubuntu-20.04-amd64 GitHub Actions
verify-rc-source-js-linux-ubuntu-22.04-amd64 GitHub Actions
verify-rc-source-js-macos-amd64 GitHub Actions
verify-rc-source-js-macos-arm64 GitHub Actions
verify-rc-source-python-linux-almalinux-8-amd64 GitHub Actions
verify-rc-source-python-linux-conda-latest-amd64 GitHub Actions
verify-rc-source-python-linux-ubuntu-20.04-amd64 GitHub Actions
verify-rc-source-python-linux-ubuntu-22.04-amd64 GitHub Actions
verify-rc-source-python-macos-amd64 GitHub Actions
verify-rc-source-python-macos-arm64 GitHub Actions
verify-rc-source-python-macos-conda-amd64 GitHub Actions
verify-rc-source-ruby-linux-almalinux-8-amd64 GitHub Actions
verify-rc-source-ruby-linux-conda-latest-amd64 GitHub Actions
verify-rc-source-ruby-linux-ubuntu-20.04-amd64 GitHub Actions
verify-rc-source-ruby-linux-ubuntu-22.04-amd64 GitHub Actions
verify-rc-source-ruby-macos-amd64 GitHub Actions
verify-rc-source-ruby-macos-arm64 GitHub Actions
verify-rc-source-windows GitHub Actions

@raulcd
Copy link
Member Author

raulcd commented Feb 29, 2024

@github-actions crossbow submit --group verify-rc-binaries --group verify-rc-wheels --param release=15.0.1 --param rc=0

Copy link

Revision: 5ce6ff4

Submitted crossbow builds: ursacomputing/crossbow @ actions-49b96c130f

Task Status
verify-rc-binaries-apt-linux-amd64 GitHub Actions
verify-rc-binaries-binary-linux-amd64 GitHub Actions
verify-rc-binaries-jars-linux-almalinux-8-amd64 GitHub Actions
verify-rc-binaries-jars-linux-conda-latest-amd64 GitHub Actions
verify-rc-binaries-jars-linux-ubuntu-20.04-amd64 GitHub Actions
verify-rc-binaries-jars-linux-ubuntu-22.04-amd64 GitHub Actions
verify-rc-binaries-wheels-linux-almalinux-8-amd64 GitHub Actions
verify-rc-binaries-wheels-linux-conda-latest-amd64 GitHub Actions
verify-rc-binaries-wheels-linux-ubuntu-20.04-amd64 GitHub Actions
verify-rc-binaries-wheels-linux-ubuntu-22.04-amd64 GitHub Actions
verify-rc-binaries-wheels-macos-11-amd64 GitHub Actions
verify-rc-binaries-wheels-macos-11-arm64 GitHub Actions
verify-rc-binaries-wheels-macos-12-amd64 GitHub Actions
verify-rc-binaries-wheels-windows GitHub Actions
verify-rc-binaries-yum-linux-amd64 GitHub Actions

@kou
Copy link
Member

kou commented Mar 1, 2024

Ah, sorry. I should have used apache-arrow-15.0.1 tag or maint-15.0.1 branch to run dev/release/05-binary-upload.sh. (I used main instead.)

I'm re-running dev/release/05-binary-upload.sh on apache-arrow-15.0.1 to fix verify-rc-binaries-apt-linux-amd64.

@kou
Copy link
Member

kou commented Mar 1, 2024

Done. Re-run verify-rc-binaries-apt-linux-amd64.

@raulcd
Copy link
Member Author

raulcd commented Mar 1, 2024

ok, the wheels failed because of the leap year bug (not great to run verification on 29th February 😂)
re-running the ones that are still failing

@raulcd
Copy link
Member Author

raulcd commented Mar 1, 2024

There seems to be a different error for Windows builds on test_dateutil_tzinfo_to_string:

         tz = dateutil.tz.gettz('Europe/Paris')
>       assert pa.lib.tzinfo_to_string(tz) == 'Europe/Paris'
E       AssertionError: assert 'Europe/Monaco' == 'Europe/Paris'
E         - Europe/Paris
E         + Europe/Monaco

@jorisvandenbossche @AlenkaF have you seen this error before?

@AlenkaF
Copy link
Member

AlenkaF commented Mar 4, 2024

There seems to be a different error for Windows builds on test_dateutil_tzinfo_to_string:

         tz = dateutil.tz.gettz('Europe/Paris')
>       assert pa.lib.tzinfo_to_string(tz) == 'Europe/Paris'
E       AssertionError: assert 'Europe/Monaco' == 'Europe/Paris'
E         - Europe/Paris
E         + Europe/Monaco

@jorisvandenbossche @AlenkaF have you seen this error before?

I haven't seen it before and also can't reproduce it on MacOS.

As mentioned on Zulip channel, there was a new release of the dateutil package. The version of python-dateutil:

I do not see how the changes in the new dateutil version would affect the Windows builds though ...

@raulcd raulcd merged commit 6b232a2 into maint-15.0.1 Mar 7, 2024
155 of 226 checks passed
@raulcd
Copy link
Member Author

raulcd commented Mar 12, 2024

@ursabot please benchmark

@ursabot
Copy link

ursabot commented Mar 12, 2024

Benchmark runs are scheduled for commit 5ce6ff4. Watch https://buildkite.com/apache-arrow and https://conbench.ursa.dev for updates. A comment will be posted here when the runs are complete.

Copy link

Thanks for your patience. Conbench analyzed the 0 benchmarking runs that have been run so far on PR commit 5ce6ff4.

None of the specified runs were found on the Conbench server.

The full Conbench report has more details.

@austin3dickey
Copy link
Contributor

The benchmarks failed because they couldn't build the pyarrow wheel due to #40386.

@raulcd
Copy link
Member Author

raulcd commented Mar 12, 2024

Thanks @austin3dickey ! I am creating the 15.0.2 release which only contains 4 fixes at the moment, 3 of them are CI/build issues that won't affect performance.
I will run the benchmarks there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants