You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by tillrohrmann <gi...@git.apache.org> on 2018/06/05 07:48:11 UTC
[GitHub] flink pull request #6096: [FLINK-9440][streaming] Expose cancelation of time...
Github user tillrohrmann commented on a diff in the pull request:
https://github.com/apache/flink/pull/6096#discussion_r192976292
--- Diff: flink-streaming-java/src/main/java/org/apache/flink/streaming/api/operators/ProcessOperator.java ---
@@ -114,12 +114,22 @@ public long currentWatermark() {
@Override
public void registerProcessingTimeTimer(long time) {
- throw new UnsupportedOperationException("Setting timers is only supported on a KeyedStream.");
+ throw new UnsupportedOperationException(UNSUPPORTED_REGISTER_TIMER_MSG);
}
@Override
public void registerEventTimeTimer(long time) {
- throw new UnsupportedOperationException("Setting timers is only supported on a KeyedStream.");
+ throw new UnsupportedOperationException(UNSUPPORTED_REGISTER_TIMER_MSG);
+ }
+
+ @Override
+ public void deleteProcessingTimeTimer(long time) {
+ throw new UnsupportedOperationException(UNSUPPORTED_DELETE_TIMER_MSG);
+ }
+
+ @Override
+ public void deleteEventTimeTimer(long time) {
+ throw new UnsupportedOperationException(UNSUPPORTED_DELETE_TIMER_MSG);
}
--- End diff --
I know it is out of scope, but why do we give access to the `TimerService` in a non-keyed context? Wouldn't it be better to follow the interface-segregation principle a bit more here and expose the timer service only to keyed operators? Is there a reason why we don't do it like that @aljoscha?
---