[
https://issues.apache.org/jira/browse/BEAM-11105?focusedWorklogId=762851&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-762851
]
ASF GitHub Bot logged work on BEAM-11105:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 27/Apr/22 13:03
Start Date: 27/Apr/22 13:03
Worklog Time Spent: 10m
Work Description: damccorm opened a new pull request, #17476:
URL: https://github.com/apache/beam/pull/17476
**Summary of Changes**
This pr is a continuation of building watermark support in the Go Sdk. It
builds on the work done in https://github.com/apache/beam/pull/17374 and
introduces the ability for watermark estimators to be updated based on the
timestamp of emitted elements. It includes the following changes:
- Execution (emit/emit.go, exec/pardo.go, sdf/sdf.go)
- Code generation (generate/generate.go, **.shims.go,
optimized/emitters.tmpl, optimized/emitters.go)
- Concrete implementation of a timestamp observing estimator
(sdf/watermark_estimator.go)
This is built according to the design specified here -
https://docs.google.com/document/d/1DqCYJ-J1YGNelCRIcN5v6BQsZxJB2l5uWBmN4ti--Ew/edit?usp=sharing
**Next Steps**
The following work remains to be implemented after this is completed
- Manual estimators (PR in progress -
https://github.com/apache/beam/pull/17475)
- Doc changes
**Manual Testing**
On top of all the unit tests introduced, I hacked the existing textio sdf
doFn and added the following function:
```
func (fn *readSdfFn) CreateWatermarkEstimator(t time.Time)
*sdf.TimestampObservingWatermarkEstimator {
return &sdf.TimestampObservingWatermarkEstimator{State: t}
}
func (fn *readSdfFn) InitialWatermarkEstimatorState(_ beam.EventTime, _
offsetrange.Restriction, _ string, _ int64) time.Time {
return time.Now().AddDate(-1, 0, 0)
}
func (fn *readSdfFn) WatermarkEstimatorState(e
*sdf.TimestampObservingWatermarkEstimator) time.Time {
return e.State
}
```
and emitted elements 10 years in the future from processElement. Then I ran
wordCount (with the textio sdf version) on dataflow so that I could observe the
output watermark was getting correctly updated to the current wall clock time +
1 month:
<img width="437" alt="image"
src="https://user-images.githubusercontent.com/42773683/165524201-8a16ad7f-4ca0-4d46-9b8d-37dcb9d8eb5c.png">
------------------------
Thank you for your contribution! Follow this checklist to help us
incorporate your contribution quickly and easily:
- [ ] [**Choose
reviewer(s)**](https://beam.apache.org/contribute/#make-your-change) and
mention them in a comment (`R: @username`).
- [x] Format the pull request title like `[BEAM-XXX] Fixes bug in
ApproximateQuantiles`, where you replace `BEAM-XXX` with the appropriate JIRA
issue, if applicable. This will automatically link the pull request to the
issue.
- [ ] Update `CHANGES.md` with noteworthy changes.
- [x] If this contribution is large, please file an Apache [Individual
Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
See the [Contributor Guide](https://beam.apache.org/contribute) for more
tips on [how to make review process
smoother](https://beam.apache.org/contribute/#make-reviewers-job-easier).
To check the build health, please visit
[https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md)
GitHub Actions Tests Status (on master branch)
------------------------------------------------------------------------------------------------
[](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more
information about GitHub Actions CI.
Issue Time Tracking
-------------------
Worklog Id: (was: 762851)
Time Spent: 7h 10m (was: 7h)
> [Go SDK] Watermark Estimation
> -----------------------------
>
> Key: BEAM-11105
> URL: https://issues.apache.org/jira/browse/BEAM-11105
> Project: Beam
> Issue Type: Sub-task
> Components: sdk-go
> Reporter: Robert Burke
> Assignee: Danny McCormick
> Priority: P3
> Time Spent: 7h 10m
> Remaining Estimate: 0h
>
> Allow self checkpointing SplittableDoFns to specify a watermark estimator.
> (To be updated once [https://github.com/apache/beam/pull/13160] is merged and
> the programming guide updated with SDF content.)
--
This message was sent by Atlassian Jira
(v8.20.7#820007)