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

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

                Author: ASF GitHub Bot
            Created on: 13/Aug/19 20:23
            Start Date: 13/Aug/19 20:23
    Worklog Time Spent: 10m 
      Work Description: ajamato commented on pull request #9330: [BEAM-7969] 
Report FnAPI counters as deltas in streaming jobs.
URL: https://github.com/apache/beam/pull/9330#discussion_r313595026
 
 

 ##########
 File path: 
runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingDataflowWorker.java
 ##########
 @@ -1867,6 +1873,28 @@ private void sendWorkerUpdatesToDataflowService(
           cumulativeCounters.extractUpdates(false, 
DataflowCounterUpdateExtractor.INSTANCE));
       counterUpdates.addAll(
           
deltaCounters.extractModifiedDeltaUpdates(DataflowCounterUpdateExtractor.INSTANCE));
+      if (hasExperiment(options, "beam_fn_api")) {
+        while (!this.pendingMonitoringInfos.isEmpty()) {
+          final CounterUpdate item = this.pendingMonitoringInfos.poll();
+
+          // This change will treat counter as delta.
+          // This is required because we receive cumulative results from FnAPI 
harness,
+          // while streaming job is expected to receive delta updates to 
counters on same
+          // WorkItem.
+          if (item.getCumulative()) {
+            item.setCumulative(false);
+          } else {
+            // In current world all counters coming from FnAPI are cumulative.
+            // This is a safety check in case new counter type appears in 
FnAPI.
+            throw new UnsupportedOperationException(
+                "FnApi counters are expected to provide cumulative values."
+                    + " Please, update convertion to delta logic"
+                    + " if non-cumulative counter type is required.");
+          }
+
 
 Review comment:
   This method essentially has 3 inputs correct? pendingMonitoringInfos, 
deltaCounters and cumulativeCounters.
   And one output counterUpdates
   
   Can you write some unit tests which verifies that counterUpdates is 
populated properly?
 
----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

    Worklog Id:     (was: 294163)
    Time Spent: 0.5h  (was: 20m)

> Streaming Dataflow worker doesn't report FnAPI metrics.
> -------------------------------------------------------
>
>                 Key: BEAM-7969
>                 URL: https://issues.apache.org/jira/browse/BEAM-7969
>             Project: Beam
>          Issue Type: Bug
>          Components: java-fn-execution, runner-dataflow
>            Reporter: Mikhail Gryzykhin
>            Assignee: Mikhail Gryzykhin
>            Priority: Major
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> EOM



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to