You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[C++] Vendored date library does not respect TZDIR environment variable #49351
The vendored Howard Hinnant date library hardcodes /usr/share/zoneinfo as the timezone database path in discover_tz_dir() (cpp/src/arrow/vendored/datetime/tz.cpp). It does not check the TZDIR environment variable, which is the POSIX standard mechanism for overriding this path.
This causes timezone operations to fail on non FHS Linux distributions such as NixOS, where zoneinfo resides under a non standard path like /nix/store/.../share/zoneinfo.
The upstream library also lacks TZDIR support
Reproduction
On NixOS without a TZDIR patch:
importpyarrowaspaarr=pa.array([1], type=pa.timestamp("s", tz="America/New_York"))
# Fails: discover_tz_dir failed to find zoneinfo
Expected Behavior
Arrow should check TZDIR before falling back to hardcoded paths, consistent with POSIX conventions and tools such as glibc, busybox, and Python's zoneinfo module.
Activity
apacheGH-49351: [C++] Check TZDIR environment variable in vendored da…