Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-3006

ForkJoinPool common pool is initialized, no option to supply another executor

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.14.0
    • 2.14.1
    • Core
    • None

    Description

      After upgrading our application to use Log4J 2.14 we discovered that our thread factory for the ForkJoinPool common pool was not being used.

      After debugging I discovered that this was because we initialize Log4J before we configure the ForkJoinPool. Log4J 2.14 now initializes the ForkJoinPool common pool via this line in the constructor:

      CompletableFuture.runAsync(ThreadContextDataInjector::initServiceProviders);

      This was introduced by LOG4J2-2867. I am not familiar with what initServiceProviders is doing but please consider reverting to the previous behavior by default and providing an option to supply an executor if desired.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            jaredwiltshire Jared Wiltshire
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment