[
https://issues.apache.org/jira/browse/BEAM-7947?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Luke Cwik resolved BEAM-7947.
-----------------------------
Resolution: Fixed
> Improves the interfaces of classes such as FnDataService, BundleProcessor,
> ActiveBundle, etc to change the parameter type from WindowedValue<T> to T
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: BEAM-7947
> URL: https://issues.apache.org/jira/browse/BEAM-7947
> Project: Beam
> Issue Type: Sub-task
> Components: java-fn-execution
> Reporter: sunjincheng
> Assignee: sunjincheng
> Priority: Major
> Fix For: 2.16.0
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> Both `Coder<WindowedValue<T>>` and `FnDataReceiver<WindowedValue<T>>` use
> `WindowedValue` as the data structure that both sides of Runner and SDK
> Harness know each other. Control Plane/Data Plane/State Plane/Logging is a
> highly abstraction, such as Control Plane and Logging, these are common
> requirements for all multi-language platforms. For example, the Flink
> community is also discussing how to support Python UDF, as well as how to
> deal with docker environment. how to data transfer, how to state access, how
> to logging etc. If Beam can further abstract these service interfaces, i.e.,
> interface definitions are compatible with multiple engines, and finally
> provided to other projects in the form of class libraries, it definitely will
> help other platforms that want to support multiple languages. Here I am to
> throw out a minnow to catch a whale, take the FnDataService#receive interface
> as an example, and turn `WindowedValue<T>` into `T` so that other platforms
> can be extended arbitrarily, as follows:
> {code}
> <T> InboundDataClient receive(LogicalEndpoint inputLocation, Coder<T> coder,
> FnDataReceiver<T>> listener);
> {code}
--
This message was sent by Atlassian Jira
(v8.3.2#803003)