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
All of the timeZoneId.getOrElse("UTC") sites listed here are gone. #6351 replaced them with CometTimeZone.nativeId, which normalizes the timezone each serde passes to native code and reports the expression as unsupported when native code can't represent its timezone, so it falls back or runs in the codegen dispatcher. An expression with no timezone still gets "UTC", but Spark only leaves the timezone unset on casts that don't use it, which the audit in #6335 confirmed across the test suites.
The hard-coded UTC in to_arrow_datatype is intended. Every TimestampType value in a native plan is labelled Timestamp(Microsecond, "UTC"), and the session timezone travels with each expression instead of with the values. docs/source/contributor-guide/timezones.md describes that model. Closing.
Activity
andygrove commentedon Nov 7, 2025
Also
serde.rsto_arrow_datatypehas hard-codedUTC.andygrove commentedon Oct 7, 2026
All of the
timeZoneId.getOrElse("UTC")sites listed here are gone. #6351 replaced them withCometTimeZone.nativeId, which normalizes the timezone each serde passes to native code and reports the expression as unsupported when native code can't represent its timezone, so it falls back or runs in the codegen dispatcher. An expression with no timezone still gets"UTC", but Spark only leaves the timezone unset on casts that don't use it, which the audit in #6335 confirmed across the test suites.The hard-coded
UTCinto_arrow_datatypeis intended. EveryTimestampTypevalue in a native plan is labelledTimestamp(Microsecond, "UTC"), and the session timezone travels with each expression instead of with the values.docs/source/contributor-guide/timezones.mddescribes that model. Closing.