[
https://issues.apache.org/jira/browse/BEAM-4276?focusedWorklogId=108762&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-108762
]
ASF GitHub Bot logged work on BEAM-4276:
----------------------------------------
Author: ASF GitHub Bot
Created on: 04/Jun/18 21:25
Start Date: 04/Jun/18 21:25
Worklog Time Spent: 10m
Work Description: lostluck commented on a change in pull request #5507:
[BEAM-4276] Add combiner lifting support to Go SDK
URL: https://github.com/apache/beam/pull/5507#discussion_r192885506
##########
File path: sdks/go/pkg/beam/core/runtime/exec/combine.go
##########
@@ -42,10 +42,12 @@ type Combine struct {
err errorx.GuardedError
}
+// ID returns the UnitID for this node.
Review comment:
I agree it's worthwhile since everything has a UID, status and err.
Most (if not all) have an Out and a Fn (if not a CombineFn)
The alternative to the embedding would be to Interface invoke them, since
there's no transparent-to-the-code inheritance of field & method overrides for
embeds. (no Javastyle subclassing). I think that's still slower than the
embedded approach as far as what compiles due to the interface overhead.
Henning's main concern about using embedding was that it can be hard to
follow the logic if the embedded class is in a different file, but it really
depends on how much we're embedding.
We can trivially handle removing ID() & String(), along with fail(), but the
real trick would be meaningfully removing the duplicated state machine code
that prefixes most of the methods. I would almost suggest moving those outside
of the nodes themselves, but since they're getting called in the stack, they
still need to be invoked per node, in order.
I vote we estimate how much code it would save, and whether that's worth it
over the explicit duplication.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 108762)
Time Spent: 4h 10m (was: 4h)
> Implement the portable lifted Combiner transforms in Go SDK
> -----------------------------------------------------------
>
> Key: BEAM-4276
> URL: https://issues.apache.org/jira/browse/BEAM-4276
> Project: Beam
> Issue Type: Sub-task
> Components: sdk-go
> Reporter: Henning Rohde
> Assignee: Robert Burke
> Priority: Major
> Time Spent: 4h 10m
> Remaining Estimate: 0h
>
> Specifically add the necessary code to produce a Combine Composite with the
> correct URN, and permit the SDK harness to understand the lifted parts when
> receiving a bundle plan from the worker.
> Not expected as part of this issue is:
> Additional performance tweaks to the in memory cache (SeeĀ
> [BEAM-4468|https://issues.apache.org/jira/browse/BEAM-4468])
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)