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: us...@infra.apache.org With regards, Apache Git Services