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

Remove CoordinatorExecutorThreadFactory thread creation guards

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

        Activity

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

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment