NicoK commented on a change in pull request #6698: [FLINK-8581][network] Move
flushing remote subpartitions from OutputFlusher to netty
URL: https://github.com/apache/flink/pull/6698#discussion_r223342148
##########
File path:
flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/ResultSubpartition.java
##########
@@ -106,11 +109,32 @@ protected Throwable getFailureCause() {
abstract public void flush();
+ /**
+ * Remote subpartitions support automatic periodic flush. This is the
method to register it.
+ * Can only by used after {@link #isLocal()} state is known.
+ */
+ public abstract void registerPeriodicFlush(long flushTimeout);
+
+ /**
+ * @return empty if {@link #createReadView(BufferAvailabilityListener)}
has not been yet called.
+ * Afterwards returns {@code Optional.of(true)} or {@code
Optional.of(false)}
+ */
+ public Optional<Boolean> isLocal() {
+ return isLocal;
+ }
+
abstract public void finish() throws IOException;
abstract public void release() throws IOException;
- abstract public ResultSubpartitionView
createReadView(BufferAvailabilityListener availabilityListener) throws
IOException;
+ public ResultSubpartitionView createReadView(BufferAvailabilityListener
availabilityListener) throws IOException {
+ isLocal = Optional.of(availabilityListener.isLocal());
+ return createReadViewInternal(availabilityListener);
+ }
+
+
Review comment:
nit: remove additional empty line (checkstyle)
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services