-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[Python][C++] failing tests due to unfound timezones on Windows with 18.0.0-rc0 #44455
Comments
On second thought, it would be nice if |
Well, that didn't work unfortunately:
That's despite the required files definitely being there.
|
I've now also tried setting |
I think that this is a problem in https://www.iana.org/time-zones data.
The latest data https://data.iana.org/time-zones/releases/tzdata2024b.tar.gz includes the "April" line in arrow/cpp/src/arrow/vendored/datetime/tz.cpp Line 608 in 0c32067
But the upstream supports Workaround: Use old tzdata. FYI: |
I don't understand the distinction. What's expected to be under For context, it worked for
That sound like a reasonable first step. Medium term, it's also conceivable to move to C++20 facilities. |
IANA tzdata changed its data format. So we need to update vendored date to parse it.
IANA tzdata changed its data format. So we need to update vendored date to parse it.
Could you try #44482 ? |
Is in progress in conda-forge/arrow-cpp-feedstock#1432; I'll try to comment afterwards, but you can also check yourself if the non-CUDA windows builds pass in ~3-4h. |
Can confirm that #44482 works. 🥳 Thank you! |
Thanks! |
### Rationale for this change IANA tzdata changed its data format. So we need to update vendored date to parse it. ### What changes are included in this PR? Update vendored date to 3.0.3. Update script is added. So all our changes are automated now. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * GitHub Issue: #44455 Authored-by: Sutou Kouhei <[email protected]> Signed-off-by: Sutou Kouhei <[email protected]>
Issue resolved by pull request 44482 |
Describe the bug, including details regarding any error messages, version, and platform.
While testing arrow 18.0.0rc0, I'm getting a new batch of failing tests on windows
The "cannot locate timezone" seems to be coming from
arrow/cpp/src/arrow/compute/kernels/temporal_internal.h
Line 51 in 16ad979
and hasn't changed recently. In particular, my understanding would be that
arrow/cpp/src/arrow/compute/kernels/temporal_internal.h
Line 20 in 16ad979
doesn't yet refer to C++20's specification that includes the timezones (but rather some vendored variant of https://github.com/HowardHinnant/date, c.f. 641c699, 2bf4421, #29200, etc.)
AFAIU, the change is most likely due to the tests getting a new/updated decorator:
arrow/python/pyarrow/tests/test_compute.py
Line 2508 in 16ad979
arrow/python/pyarrow/tests/util.py
Lines 425 to 437 in 16ad979
It's not exactly described what needs to be under that path, but it does seem to get forwarded to the vendored date here
arrow/cpp/src/arrow/config.cc
Line 93 in 16ad979
which will then iterate through the contents.
As such, conda-forge (which ships its own
tzdata
) should be able to set"PYARROW_TZDATA_PATH=%PREFIX%\share\zoneinfo"
and be done with it. I'm mainly opening this issue now to document the chasing down of rabbit holes for this, which might serve someone else (and if I'm wrong, we'll be able to discuss further as well).Component(s)
C++, Packaging
The text was updated successfully, but these errors were encountered: