beliefer opened a new pull request, #26339:
URL: https://github.com/apache/flink/pull/26339

   ## What is the purpose of the change
   
   This PR aims to replace `Timer` with single thread scheduled executor for 
`BlobServer`.
   The javadoc recommends `ScheduledThreadPoolExecutor` instead of `Timer`.
   ![屏幕快照 2024-01-12 下午12 47 
57](https://github.com/apache/spark/assets/8486025/4fc5ed61-6bb9-4768-915a-ad919a067d04)
    
   This change based on the following two points.
   **System time sensitivity**
   
   Timer scheduling is based on the absolute time of the operating system and 
is sensitive to the operating system's time. Once the operating system's time 
changes, Timer scheduling is no longer precise.
   The scheduled Thread Pool Executor scheduling is based on relative time and 
is not affected by changes in operating system time.
   
   **Are anomalies captured**
   
   Timer does not capture exceptions thrown by Timer Tasks, and in addition, 
Timer is single threaded. Once a scheduling task encounters an exception, the 
entire thread will terminate and other tasks that need to be scheduled will no 
longer be executed.
   The scheduled Thread Pool Executor implements scheduling functions based on 
a thread pool. After a task throws an exception, other tasks can still execute 
normally.
   
   
   ## Brief change log
   
   Replace `Timer` with single thread scheduled executor for `BlobServer`
   
   
   ## Verifying this change
   
   This change is already covered by existing tests, such as 
*(BlobCacheCleanupTest, BlobServerCleanupTest and so on)*.
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): (no)
     - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: (no)
     - The serializers: (no)
     - The runtime per-record code paths (performance sensitive): (no)
     - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
     - The S3 file system connector: (no)
   
   ## Documentation
   
     - Does this pull request introduce a new feature? (no)
   


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to