Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-25611

Remove CoordinatorExecutorThreadFactory thread creation guards

    XMLWordPrintableJSON

Details

    Description

      The CoordinatorExecutorThreadFactory of the SourceCoordinator checks that only a single thread is active and that no new thread can be created if the previous one failed.

      Neither of these guards work properly. If a runnable in the ThreadPoolExecutor fails then it actually uses the worker thread of the failed runnable to spawn a new worker. This means that at the time the second thread is created the previous thread is still alive, and the exception that caused the failure hasn't even been propagated to the threads exception handler.

      As these guards do not work, and to boot result in the actual failure causes being hidden (like in FLINK-24855), we should remove them.

      Attachments

        Issue Links

          Activity

            People

              chesnay Chesnay Schepler
              chesnay Chesnay Schepler
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: