Skip to content

[Bug] ArrowFieldTypeConversion produces GMT-prefix timezone strings that arrow-rust cannot parse #7704

@0dunay0

Description

@0dunay0

Search before asking

  • I searched in the issues and found nothing similar.

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?

  • I'm willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions