This is an automated email from the ASF dual-hosted git repository.

gyfora pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/flink-kubernetes-operator.git


The following commit(s) were added to refs/heads/main by this push:
     new b872111  [FLINK-27154] Disable web.cancel.enable for application 
clusters
b872111 is described below

commit b87211168665a34dff15cd28e3a0c0bb34f9283e
Author: Nicholas Jiang <[email protected]>
AuthorDate: Tue Apr 12 23:13:45 2022 +0800

    [FLINK-27154] Disable web.cancel.enable for application clusters
---
 .../operator/utils/FlinkConfigBuilder.java         | 27 ++++++++++++++--------
 .../operator/utils/FlinkConfigBuilderTest.java     |  2 ++
 2 files changed, 20 insertions(+), 9 deletions(-)

diff --git 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/utils/FlinkConfigBuilder.java
 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/utils/FlinkConfigBuilder.java
index e84ca4b..d5d8e9c 100644
--- 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/utils/FlinkConfigBuilder.java
+++ 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/utils/FlinkConfigBuilder.java
@@ -47,6 +47,7 @@ import java.time.Duration;
 import java.util.Collections;
 
 import static 
org.apache.flink.configuration.DeploymentOptionsInternal.CONF_DIR;
+import static org.apache.flink.configuration.WebOptions.CANCEL_ENABLE;
 import static 
org.apache.flink.kubernetes.configuration.KubernetesConfigOptions.REST_SERVICE_EXPOSED_TYPE;
 import static 
org.apache.flink.kubernetes.operator.utils.FlinkUtils.mergePodTemplates;
 import static 
org.apache.flink.kubernetes.utils.Constants.CONFIG_FILE_LOG4J_NAME;
@@ -100,16 +101,24 @@ public class FlinkConfigBuilder {
                     KubernetesConfigOptions.ServiceExposedType.ClusterIP);
         }
 
-        // With last-state upgrade mode, set the default value of 
'execution.checkpointing.interval'
-        // to 5 minutes when HA is enabled.
-        if (spec.getJob() != null
-                && spec.getJob().getUpgradeMode() == UpgradeMode.LAST_STATE
-                && !effectiveConfig.contains(
-                        ExecutionCheckpointingOptions.CHECKPOINTING_INTERVAL)) 
{
-            effectiveConfig.set(
-                    ExecutionCheckpointingOptions.CHECKPOINTING_INTERVAL,
-                    DEFAULT_CHECKPOINTING_INTERVAL);
+        if (spec.getJob() != null) {
+            if (!effectiveConfig.contains(CANCEL_ENABLE)) {
+                // Set 'web.cancel.enable' to false for application 
deployments to avoid users
+                // accidentally cancelling jobs.
+                effectiveConfig.set(CANCEL_ENABLE, false);
+            }
+            // With last-state upgrade mode, set the default value of
+            // 'execution.checkpointing.interval'
+            // to 5 minutes when HA is enabled.
+            if (spec.getJob().getUpgradeMode() == UpgradeMode.LAST_STATE
+                    && !effectiveConfig.contains(
+                            
ExecutionCheckpointingOptions.CHECKPOINTING_INTERVAL)) {
+                effectiveConfig.set(
+                        ExecutionCheckpointingOptions.CHECKPOINTING_INTERVAL,
+                        DEFAULT_CHECKPOINTING_INTERVAL);
+            }
         }
+
         return this;
     }
 
diff --git 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/utils/FlinkConfigBuilderTest.java
 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/utils/FlinkConfigBuilderTest.java
index c81f7ce..b4da59b 100644
--- 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/utils/FlinkConfigBuilderTest.java
+++ 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/utils/FlinkConfigBuilderTest.java
@@ -26,6 +26,7 @@ import org.apache.flink.configuration.JobManagerOptions;
 import org.apache.flink.configuration.MemorySize;
 import org.apache.flink.configuration.PipelineOptions;
 import org.apache.flink.configuration.TaskManagerOptions;
+import org.apache.flink.configuration.WebOptions;
 import org.apache.flink.kubernetes.configuration.KubernetesConfigOptions;
 import org.apache.flink.kubernetes.configuration.KubernetesDeploymentTarget;
 import 
org.apache.flink.kubernetes.highavailability.KubernetesHaServicesFactory;
@@ -117,6 +118,7 @@ public class FlinkConfigBuilderTest {
         Assert.assertEquals(
                 KubernetesConfigOptions.ServiceExposedType.ClusterIP,
                 
configuration.get(KubernetesConfigOptions.REST_SERVICE_EXPOSED_TYPE));
+        Assert.assertEquals(false, 
configuration.get(WebOptions.CANCEL_ENABLE));
 
         FlinkDeployment deployment = 
ReconciliationUtils.clone(flinkDeployment);
         deployment

Reply via email to