Uploaded image for project: 'Quarkus'
  1. Quarkus
  2. QUARKUS-1286

Config property not found when in ForkJoin common Pool thread #20067


    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Critical Critical
    • None
    • 2.2.2.ER3
    • core, quarkus-core, team/eng
    • None

      opening this as potential blocker based on conversation with Roberto:

      Fetching a config property on ForkJoin common Pool thread failed.
      Be aware that the behavior is not the same in dev mode and in prod mode as it's work in dev mode.

      issue is caused by change in behavior from java 8 to java 11 (https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8184335)

      the issue is that in JDK 8 the ForkJoin threads were using the CL of the thread loading the ForkJoin in JDK 11 it defaults to the SystemCL but this is just part of the issue
      it highly depends on how the code looks like

      • are you using JDk 8 or 11?
      • are you using a thread pool that uses the Quarkus CL (and we also had issue where our own threads we re not setting the correct CL)
      • even if all of the above verifies a Config may load correctly. When not on the correct CL, a new instance Config is created. It may work if the CL has access to the config you are trying to load

      in the end it either fails or load with clone/copy rather than the right config instance.

      PR on going here https://github.com/quarkusio/quarkus/pull/20178

            Unassigned Unassigned
            manderse@redhat.com Max Andersen
            Josef Smrcka Josef Smrcka (Inactive)
            0 Vote for this issue
            5 Start watching this issue