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)

Reply via email to