zhijiangW commented on a change in pull request #11486: [FLINK-16712][task] 
Refactor StreamTask to construct final fields
URL: https://github.com/apache/flink/pull/11486#discussion_r396408716
 
 

 ##########
 File path: 
flink-streaming-java/src/main/java/org/apache/flink/streaming/runtime/tasks/StreamTask.java
 ##########
 @@ -260,17 +258,28 @@ protected StreamTask(
                        @Nullable TimerService timerService,
                        Thread.UncaughtExceptionHandler 
uncaughtExceptionHandler,
                        StreamTaskActionExecutor actionExecutor,
-                       TaskMailbox mailbox) {
+                       TaskMailbox mailbox) throws Exception {
 
                super(environment);
 
-               this.timerService = timerService;
-               this.uncaughtExceptionHandler = 
Preconditions.checkNotNull(uncaughtExceptionHandler);
                this.configuration = new StreamConfig(getTaskConfiguration());
                this.recordWriter = createRecordWriterDelegate(configuration, 
environment);
                this.actionExecutor = 
Preconditions.checkNotNull(actionExecutor);
                this.mailboxProcessor = new 
MailboxProcessor(this::processInput, mailbox, actionExecutor);
                this.asyncExceptionHandler = new 
StreamTaskAsyncExceptionHandler(environment);
+               this.asyncOperationsThreadPool = Executors.newCachedThreadPool(
+                       new ExecutorThreadFactory("AsyncOperations", 
uncaughtExceptionHandler));
+
+               this.stateBackend = createStateBackend();
+               this.checkpointStorage = 
stateBackend.createCheckpointStorage(getEnvironment().getJobID());
 
 Review comment:
   TBH I did not think of this issue before making the changes. And you really 
pointed out a critical and reasonable concern here.
   
   After double checking the related codes of creating backend and storage, I 
do not find any IO operators or any time-consuming operations, only 
deserialization from config and some paths generation. So IMO it should not 
bring obvious side effects.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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

Reply via email to