lostluck opened a new issue, #22404:
URL: https://github.com/apache/beam/issues/22404

   ### What needs to happen?
   
   Timestamp metadata for individual elements is lost after sending values 
through a GroupByKey. This is not an issue, and is WAI as a consequence of the 
post GBK coder (WindowedValueHeader+KV<K, Iter<V>>), as the runner has combined 
timestamps.
   
   However, the Go SDK permits using a `func(*beam.EventTime, *V) bool` for 
iterating over values , will produce 0 value event times. This is confusing 
behavior.
   
   The task has two components:
   First is to document in the programming guide and the GroupByKey godoc that 
the timestamps for values will not be available after the GBK.
   Second is to make the current behavior more sensible: Populate such 
iterators with the combined timestamp for the key, instead of leaving it with 
the zero value.
   
   That would happen here for relfective iterators: 
https://github.com/apache/beam/blob/66ffc0b9fe99ba7d305d00c2f93e29979b1b2123/sdks/go/pkg/beam/core/runtime/exec/input.go#L173
   
   This form of iterator isn't yet supported with the `register` package, but 
it would also need to be supported there once implemented.
   
https://github.com/apache/beam/blob/66ffc0b9fe99ba7d305d00c2f93e29979b1b2123/sdks/go/pkg/beam/register/iter.go
   
   This is separate from whether the SDK supports specifying timestamp combine 
strategies for a window. Presently it does not, and should default to "End Of 
Window" for a given Post GBK element.
   
   ### Issue Priority
   
   Priority: 2
   
   ### Issue Component
   
   Component: sdk-go


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to