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



##########
File path: 
flink-kubernetes/src/main/java/org/apache/flink/kubernetes/cli/KubernetesSessionCli.java
##########
@@ -96,40 +97,51 @@ private int run(String[] args) throws FlinkException, 
CliArgsException {
                        
kubernetesClusterClientFactory.createClusterDescriptor(configuration);
 
                try {
-                       final ClusterClient<String> clusterClient;
+                       final ClusterClientProvider<String> 
clusterClientProvider;
                        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 = clusterId != null && 
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) {
+                               clusterClientProvider = 
kubernetesClusterDescriptor.retrieve(clusterId);
                        } else {
-                               clusterClient = kubernetesClusterDescriptor
+                               clusterClientProvider = 
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);
-                                               }
+                       if (!detached) {
+                               if (!connectToExistingCluster) {

Review comment:
       ```suggestion
                                if (clusterId == null) {
   ```

##########
File path: 
flink-kubernetes/src/main/java/org/apache/flink/kubernetes/cli/KubernetesSessionCli.java
##########
@@ -96,40 +97,51 @@ private int run(String[] args) throws FlinkException, 
CliArgsException {
                        
kubernetesClusterClientFactory.createClusterDescriptor(configuration);
 
                try {
-                       final ClusterClient<String> clusterClient;
+                       final ClusterClientProvider<String> 
clusterClientProvider;
                        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 = clusterId != null && 
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();

Review comment:
       hmm....is it a hard requirement that a cluster-id must be specified when 
starting a cluster, or can it also be auto-generated by Kubernetes?
   
   If it is not required, then we could adjust the PR such that the cluster-id 
is only queried if `clusterId` is null: 
https://github.com/apache/flink/pull/13190/files#r472915726
   
   




----------------------------------------------------------------
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