zhijiangW commented on a change in pull request #7438: [FLINK-11282][network]
Merge StreamRecordWriter into RecordWriter
URL: https://github.com/apache/flink/pull/7438#discussion_r246626442
##########
File path:
flink-runtime/src/main/java/org/apache/flink/runtime/io/network/api/writer/RecordWriter.java
##########
@@ -72,17 +73,29 @@
private Counter numBuffersOut = new SimpleCounter();
+ /** Default name for teh output flush thread, if no name with a task
reference is given. */
+ private static final String DEFAULT_OUTPUT_FLUSH_THREAD_NAME =
"OutputFlusher";
+
+ /** The thread that periodically flushes the output, to give an upper
latency bound. */
+ private final OutputFlusher outputFlusher;
+
+ /** The exception encountered in the flushing thread. */
+ private Throwable flusherException;
Review comment:
You pointed out a previous potential risk. I am not sure why the history
code did not add `sync/volatile` here, unless the real-time visibility of this
variable is not very important for task thread, as long as it can be seen
finally.
But such behavior still seems undetermined. I suggest adding volatile
keyword or changing this variable as `AtomicReference<Throwable>`. Which one do
you prefer?
----------------------------------------------------------------
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