[ https://issues.apache.org/jira/browse/BEAM-8738?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sam Rohde updated BEAM-8738: ---------------------------- Description: 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: * [https://lists.apache.org/thread.html/c8e7d8dc7d94487fae23fa2b74ee61aec93c94abbcbef3329ffbf3bd@%3Cdev.beam.apache.org%3E] * [https://lists.apache.org/thread.html/27fe9aa5b33dbee97db1bc924ee410048137e4fe97d9c79d131c010c@%3Cdev.beam.apache.org%3E] was: 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? > Revisit timestamp and duration representation > --------------------------------------------- > > Key: BEAM-8738 > URL: https://issues.apache.org/jira/browse/BEAM-8738 > Project: Beam > Issue Type: Improvement > Components: beam-model > Reporter: Sam Rohde > Priority: Minor > > 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: > * > [https://lists.apache.org/thread.html/c8e7d8dc7d94487fae23fa2b74ee61aec93c94abbcbef3329ffbf3bd@%3Cdev.beam.apache.org%3E] > * > [https://lists.apache.org/thread.html/27fe9aa5b33dbee97db1bc924ee410048137e4fe97d9c79d131c010c@%3Cdev.beam.apache.org%3E] > -- This message was sent by Atlassian Jira (v8.3.4#803005)