Kenneth Knowles created BEAM-2021:
-------------------------------------
Summary: Fix Java's Coder class hierarchy
Key: BEAM-2021
URL: https://issues.apache.org/jira/browse/BEAM-2021
Project: Beam
Issue Type: Improvement
Components: beam-model-runner-api, sdk-java-core
Affects Versions: First stable release
Reporter: Kenneth Knowles
Assignee: Thomas Groh
This is thoroughly out of hand. In the runner API world, there are two paths:
1. URN plus component coders plus custom payload (in the form of component
coders alongside an SdkFunctionSpec)
2. Custom coder (a single URN) and payload is serialized Java. I think this
never has component coders.
The other base classes have now been shown to be extraneous: they favor saving
~3 lines of boilerplate for rarely written code at the cost of readability.
Instead they should just be dropped.
The custom payload is an Any proto in the runner API. But tying the Coder
interface to proto would be unfortunate from a design perspective and cannot be
done anyhow due to dependency hell.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)