RFR: 8324673: javacserver failed during build: RejectedExecutionException
    Christian Stein 
    cstein at openjdk.org
       
    Mon Apr  8 13:45:09 UTC 2024
    
    
  
On Mon, 8 Apr 2024 09:20:44 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:
> The RejectedExecutionException was thrown when the thread executing `Server.start` managed to shut down the `compilerThreadPool` before the thread executing `Server.handleRequest` submitted the compilation task.
> 
> This patch removes the extra thread used for `Server.handleRequest`, and executes that method directly in the thread pool. All `compilerThreadPool` uses happen on the `Server.start` thread now, and no new tasks are submitted after the thread pool is shut down.
> 
> In order to verify the fix, I modified `IdleMonitor.KEEPALIVE` to 1 second. With that change the problem was occasionally reproducible without the patch from this PR. With the patch, the `RejectedExecutionException` problem did not reproduce. 
> 
> No new regression test. Existing langtools tests continue to pass.
Less code, less threads: cleaner and less race-conditions. Looks good to me.
-------------
Marked as reviewed by cstein (Committer).
PR Review: https://git.openjdk.org/jdk/pull/18672#pullrequestreview-1986496132
    
    
More information about the build-dev
mailing list