[ 
https://issues.apache.org/jira/browse/BEAM-11106?focusedWorklogId=762947&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-762947
 ]

ASF GitHub Bot logged work on BEAM-11106:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 27/Apr/22 15:02
            Start Date: 27/Apr/22 15:02
    Worklog Time Spent: 10m 
      Work Description: riteshghorse commented on code in PR #17432:
URL: https://github.com/apache/beam/pull/17432#discussion_r859912846


##########
sdks/go/pkg/beam/core/runtime/exec/sdf_invokers.go:
##########
@@ -351,3 +352,97 @@ func (n *cweInvoker) Reset() {
                n.args[i] = nil
        }
 }
+
+// trInvoker is an invoker for TruncateRestriction.
+type trInvoker struct {
+       fn   *funcx.Fn
+       args []interface{}
+       call func(rest interface{}, elms *FullValue) (pair interface{})
+}
+
+var offsetrangeTracker = reflect.TypeOf((*offsetrange.Tracker)(nil)).Elem()
+
+func DefaultTruncateRestriction(restTracker interface{}) (newRest interface{}) 
{
+       tracker, ok := restTracker.(sdf.BoundableRTracker)
+       if !ok {
+               return nil
+       }
+       switch tracker.(type) {
+       case *offsetrange.Tracker:
+               if tracker.(*offsetrange.Tracker).IsBounded() {
+                       return 
restTracker.(*offsetrange.Tracker).GetRestriction().(offsetrange.Restriction)
+               }
+       default:
+               return nil
+       }
+       return nil

Review Comment:
   yeah that would make it clean.





Issue Time Tracking
-------------------

    Worklog Id:     (was: 762947)
    Time Spent: 2.5h  (was: 2h 20m)

> [Go SDK] Truncating SDFs during drain
> -------------------------------------
>
>                 Key: BEAM-11106
>                 URL: https://issues.apache.org/jira/browse/BEAM-11106
>             Project: Beam
>          Issue Type: Sub-task
>          Components: sdk-go
>            Reporter: Robert Burke
>            Assignee: Ritesh Ghorse
>            Priority: P3
>          Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> Allow SDFs to specify a restriction truncation method to permit faster drains.
> (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