Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-15788 Various Kubernetes integration improvements
  3. FLINK-15790

Make FlinkKubeClient and its implementations asynchronous

Agile BoardRank to TopRank to BottomAttach filesAttach ScreenshotVotersWatch issueWatchersConvert to IssueLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

      Description

      The FlinkKubeClient interface offers several methods which are synchronous (e.g. FlinkKubeClient.createTaskManagerPod, FlinkKubeClient.stopPod, FlinkKubeClient.getPodsWithLabels, etc). The problem is that these methods are directly used by the KubernetesResourceManager which calls them from the main thread. Since these methods perform I/O operations (sending and receiving network packages) they can potentially block the execution and hence should not happen from the RpcEndpoint's main thread.

      I propose to make all potentially blocking operations on the FlinkKubeClient asynchronous so that the KubernetesResourceManager does not risk to block the main thread. Alternatively, we could also introduce a FlinkKubeClientAsync which offers asynchronous operations.

        Attachments

          Activity

          $i18n.getText('security.level.explanation', $currentSelection) Viewable by All Users
          Cancel

            People

            • Assignee:
              fly_in_gis Yang Wang
              Reporter:
              trohrmann Till Rohrmann

              Dates

              • Created:
                Updated:
                Resolved:

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0h
              0h
              Logged:
              Time Spent - 40m
              40m

                Issue deployment