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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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