[ 
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)
   
------------------------------------------------------------------------------------------------
   [![Build python source distribution and 
wheels](https://github.com/apache/beam/workflows/Build%20python%20source%20distribution%20and%20wheels/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
   [![Python 
tests](https://github.com/apache/beam/workflows/Python%20tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
   [![Java 
tests](https://github.com/apache/beam/workflows/Java%20Tests/badge.svg?branch=master&event=schedule)](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)

Reply via email to