Chesnay Schepler created FLINK-24362:
----------------------------------------
Summary: Consider reworking handlers to use composition
Key: FLINK-24362
URL: https://issues.apache.org/jira/browse/FLINK-24362
Project: Flink
Issue Type: Technical Debt
Components: Runtime / REST
Reporter: Chesnay Schepler
Fix For: 1.15.0
Rest handlers are currently a bit annoying to test because they are all
implemented based on inheritance. This means that even if we just want to test
the interactions between the handler and dispatcher we also setup the REST
stack and as such for example need to provide messages headers.
Related to that handlers are currently always working against subclasses of the
RestfulGateway interface, which in _all_ cases provides a much larger API
surface than a given handler actually requires, and there's no way to opt out
of that.
I've created a prototype that would allow individual handlers to work with
composition and furthermore work against subsets of the RestfulGateway
interface.
The conversion is not difficult and pretty much just busy work.
https://github.com/zentol/flink/tree/_proto_handler_composition
--
This message was sent by Atlassian Jira
(v8.3.4#803005)