Kokila N created HIVE-29521:
-------------------------------
Summary: Unit tests TestTimestampTZ, TestTimestampTZWritable when
there is different JDK locale
Key: HIVE-29521
URL: https://issues.apache.org/jira/browse/HIVE-29521
Project: Hive
Issue Type: Bug
Reporter: Kokila N
Assignee: Hemanth Umashankar
{{}}
{code:java}
02:33:34 2026-03-08 21:03:34 - INFO-root::util|422:: [INFO] Running
org.apache.hadoop.hive.common.type.TestTimestampTZ 02:33:35 2026-03-08 21:03:34
- ERROR-root::util|422:: [ERROR] Tests run: 8, Failures: 0, Errors: 1, Skipped:
0, Time elapsed: 0.570 s <<< FAILURE! -- in
org.apache.hadoop.hive.common.type.TestTimestampTZ 02:33:35 2026-03-08 21:03:34
- INFO-root::util|422:: [ERROR]
org.apache.hadoop.hive.common.type.TestTimestampTZ.testComparison -- Time
elapsed: 0.539 s <<< ERROR! 02:33:35 2026-03-08 21:03:34 -
INFO-root::util|422:: java.time.format.DateTimeParseException: Text '2017-04-14
18:00:00 UTC+08:00' could not be parsed, unparsed text found at index 23
02:33:35 2026-03-08 21:03:34 - INFO-root::util|422:: at
java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2055)
02:33:35 2026-03-08 21:03:35 - INFO-root::util|422:: at
java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1880)
02:33:35 2026-03-08 21:03:35 - INFO-root::util|422:: at
org.apache.hadoop.hive.common.type.TimestampTZUtil.parse(TimestampTZUtil.java:96)
02:33:35 2026-03-08 21:03:35 - INFO-root::util|422:: at
org.apache.hadoop.hive.common.type.TimestampTZUtil.parse(TimestampTZUtil.java:90)
02:33:35 2026-03-08 21:03:35 - INFO-root::util|422:: at
org.apache.hadoop.hive.common.type.TestTimestampTZ.testComparison(TestTimestampTZ.java:44)
02:33:35 2026-03-08 21:03:35 - INFO-root::util|422:: at
java.base/java.lang.reflect.Method.invoke(Method.java:568){code}
{{}}
The FORMATTER uses appendZoneText(TextStyle.NARROW) (line 84), which parses
timezone names. It fails in downstream when we have a different JDK locale, it
parses UTC as the full zone at index 23, then fails
on the remaining +08:00 as "unparsed text".
The behaviour of appendZoneText with UTC+08:00 is JDK/locale-dependent — some
JDK versions recognize UTC+08:00 as a single zone, others match UTC first and
choke on the rest.
This is a known JDK inconsistency.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)