Search before asking
Paimon version
master (1.5-SNAPSHOT)
Compute Engine
Any (affects paimon-arrow module used by Spark, Flink, etc.)
Minimal reproduce step
Set JVM timezone to a GMT-prefix offset (e.g. -Duser.timezone=GMT+5:00), then use any code path that converts LocalZonedTimestampType through ArrowFieldTypeConversion.ArrowFieldTypeVisitor.
ZoneId.systemDefault().toString() produces GMT+05:00, which arrow-rust rejects because it doesn't recognize the GMT prefix.
This is reproducible in CI when the JVM timezone is randomized to a GMT-prefix offset.
What doesn't meet your expectations?
ArrowFieldTypeConversion should produce timezone strings that arrow-rust can parse. Using ZoneId.systemDefault().normalized().toString() converts GMT-prefix offsets to the standard UTC offset format (e.g. +05:00), GMT/UTC to Z, and leaves IANA names like America/New_York unchanged. Arrow-rust accepts all of these.
Anything else?
No response
Are you willing to submit a PR?
Search before asking
Paimon version
master (1.5-SNAPSHOT)
Compute Engine
Any (affects paimon-arrow module used by Spark, Flink, etc.)
Minimal reproduce step
Set JVM timezone to a GMT-prefix offset (e.g.
-Duser.timezone=GMT+5:00), then use any code path that convertsLocalZonedTimestampTypethroughArrowFieldTypeConversion.ArrowFieldTypeVisitor.ZoneId.systemDefault().toString()producesGMT+05:00, which arrow-rust rejects because it doesn't recognize theGMTprefix.This is reproducible in CI when the JVM timezone is randomized to a GMT-prefix offset.
What doesn't meet your expectations?
ArrowFieldTypeConversionshould produce timezone strings that arrow-rust can parse. UsingZoneId.systemDefault().normalized().toString()converts GMT-prefix offsets to the standard UTC offset format (e.g.+05:00), GMT/UTC toZ, and leaves IANA names likeAmerica/New_Yorkunchanged. Arrow-rust accepts all of these.Anything else?
No response
Are you willing to submit a PR?