namanjain24-sudo commented on PR #73859: URL: https://github.com/apache/airflow/pull/73859#issuecomment-5919757220
(Formatting fix — the backticks in my review above got double-escaped and render literally. Reposting cleanly:) Nice fix — using `str(self._timezone)` is a good general approach: it also fixes `FixedTimezone` instances (e.g. from an integer UTC-offset), which are independently unhashable in pendulum for the same reason (`__eq__` defined without `__hash__`), not just named `Timezone`/`ZoneInfo` timezones. Confirmed it also covers `CronDataIntervalTimetable` and `CronPartitionTimetable` since they all share `CronMixin`. One minor edge case worth being aware of (not blocking, and not reachable through Airflow's own `parse_timezone`): `FixedTimezone.__eq__` only compares `_offset`, but `str()`/`repr()` also encodes `name`, so two `FixedTimezone` instances with the same offset but different explicit names would be `==` but hash differently. Only matters if something constructs a `FixedTimezone` directly with a custom name rather than going through `parse_timezone`, which only ever produces the offset-derived default name. --- Drafted-by: Claude Code (Sonnet 5) (no human review before posting) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
