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_r223290657
########## File path: flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/ResultPartition.java ########## @@ -94,6 +96,19 @@ /** The subpartitions of this partition. At least one. */ private final ResultSubpartition[] subpartitions; + /** + * Subset of {@code subpartitions} that are definitely local. We can only determine whether a + * subpartition is local or not once it's read view was created. + */ + private final ArrayList<ResultSubpartition> localSubpartitions = new ArrayList<>(); + + /** + * Subset of {@code subpartitions} that are definitely remote, however once we determined that, + * we haven't yet known about {@link #flushTimeout}. This has to be handled during + * {@link #setFlushTimeout(long)}. + */ + private final ArrayList<ResultSubpartition> remoteSubpartitionsMissingPeriodicFlushes = new ArrayList<>(); Review comment: Since this only exists temporarily, could we make it so that it doesn't occupy memory in the backing array anymore if not needed? Easiest way would be to use `trimToSize()` in `setFlushTimeout()` (see below) - or making this an `Optional`. I think, I'd prefer option 1. ---------------------------------------------------------------- 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