Skip to content

Revisit timestamp and duration representation #19922

Description

@damccorm

The current proto representation of timesetamp and durations in Beam is either raw int64s or the well-known Google protobuf types "google.protobuf.timestamp" and "google.protobuf.duration". Apache Beam uses int64 MAX and MIN as sentinel values for an ****inf watermark and -inf watermark. However, the google.protobuf.timestamp is compliant with RFC3339, meaning it can only represent date-times between 0001-01-01 and 9999-12-31. This is not the same as the int64 MAX and MIN representation. The questions remain:

  • What should the timestamp and duration representations be?
  • What units should the timestamps and duration be? Nanos? Micros?
  • What algebra is allowed when dealing with timestamps and durations? What is needed?

See:

 

Imported from Jira BEAM-8738. Original Jira may contain additional context.
Reported by: rohdesam.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions