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