pnowojski commented on issue #11403: [FLINK-16316][operators] Implement new 
StreamOperatorBase as a replacement for AbstractStreamOperator
URL: https://github.com/apache/flink/pull/11403#issuecomment-601087719
 
 
   @rkhachatryan :
   > I think an important point is missed from my comment: we should change the 
interfaces first (i.e. StreamOperator, not StreamOperatorBase).
   > Then much of the need for convenience will go away as well as difficulty 
of splitting the implementation.
   > 
   > I think we can use what is called traits (or mixins) in other languages 
and can be achieved with default interface methods in Java.
   
   I don’t think that I understand what you are proposing and I’m not sure how 
do-able is that. I’m not sure if you have looked in detail how those 
classes/interfaces are being used today, and keep in mind that here we have 
also a trade off of making class more or less user friendly. For example, 
providing quirky “WTF?” work arounds for multiple inheritence 
(`processWatermark1`, `processWatermark2` & `processWatermark`), was not that 
bad choice taking into account how users are using `AbstractStreamOperator` 
class.
   
   But I think we could go on with this for now:
   > 1. have a new base class just for the MultipleInputStreamOperator case
   > 2. proceed with the refactorings inside AbstractStreamOperator - but not 
deprecate it

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to