zentol commented on a change in pull request #13190:
URL: https://github.com/apache/flink/pull/13190#discussion_r472942385



##########
File path: 
flink-kubernetes/src/main/java/org/apache/flink/kubernetes/cli/KubernetesSessionCli.java
##########
@@ -96,40 +97,42 @@ private int run(String[] args) throws FlinkException, 
CliArgsException {
                        
kubernetesClusterClientFactory.createClusterDescriptor(configuration);
 
                try {
-                       final ClusterClient<String> clusterClient;
-                       String clusterId = 
kubernetesClusterClientFactory.getClusterId(configuration);
+                       final String clusterId = 
kubernetesClusterClientFactory.getClusterId(configuration);
                        final boolean detached = 
!configuration.get(DeploymentOptions.ATTACHED);
-                       final FlinkKubeClient kubeClient = 
KubeClientFactory.fromConfiguration(configuration);
+
+                       boolean connectToExistingCluster = false;
+                       try (final FlinkKubeClient kubeClient = 
KubeClientFactory.fromConfiguration(configuration)) {
+                               connectToExistingCluster = 
kubeClient.getRestService(clusterId).isPresent();
+                       } catch (Exception e) {
+                               LOG.info("Could not properly shutdown cluster 
client.", e);
+                       }
 
                        // Retrieve or create a session cluster.
-                       if (clusterId != null && 
kubeClient.getRestService(clusterId).isPresent()) {
-                               clusterClient = 
kubernetesClusterDescriptor.retrieve(clusterId).getClusterClient();
+                       if (connectToExistingCluster) {
+                               kubernetesClusterDescriptor.retrieve(clusterId);
                        } else {
-                               clusterClient = kubernetesClusterDescriptor
+                               kubernetesClusterDescriptor
                                                .deploySessionCluster(
-                                                               
kubernetesClusterClientFactory.getClusterSpecification(configuration))
-                                               .getClusterClient();
-                               clusterId = clusterClient.getClusterId();
+                                                               
kubernetesClusterClientFactory.getClusterSpecification(configuration));
                        }
 
-                       try {
-                               if (!detached) {
-                                       Tuple2<Boolean, Boolean> continueRepl = 
new Tuple2<>(true, false);
-                                       try (BufferedReader in = new 
BufferedReader(new InputStreamReader(System.in))) {
-                                               while (continueRepl.f0) {
-                                                       continueRepl = 
repStep(in);
-                                               }
-                                       } catch (Exception e) {
-                                               LOG.warn("Exception while 
running the interactive command line interface.", e);
+                       if (!detached) {
+                               Tuple2<Boolean, Boolean> continueRepl = new 
Tuple2<>(true, false);
+                               try (BufferedReader in = new BufferedReader(new 
InputStreamReader(System.in))) {
+                                       while (continueRepl.f0) {
+                                               continueRepl = repStep(in);
                                        }
-                                       if (continueRepl.f1) {
+                               } catch (Exception e) {
+                                       LOG.warn("Exception while running the 
interactive command line interface.", e);
+                               }
+
+                               if (continueRepl.f1) {
+                                       try {

Review comment:
       these changes are now purely about better exception messages, and I 
would exclude them from the final PR, or move them into a hotfix commit.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to