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

commit 7d80105020e603eb582f42d3462a2f1de832db49
Author: Gyula Fora <[email protected]>
AuthorDate: Thu Nov 10 18:21:04 2022 +0100

    [hotfix] Remove some unnecessary empty strings from status
---
 docs/content/docs/custom-resource/reference.md     |  8 ++---
 e2e-tests/test_application_operations.sh           |  6 ++--
 e2e-tests/test_sessionjob_operations.sh            |  4 +--
 .../operator/api/status/CommonStatus.java          |  2 +-
 .../kubernetes/operator/api/status/Savepoint.java  | 39 ++++++++++++----------
 .../operator/api/status/SavepointInfo.java         | 15 +++++----
 .../AbstractFlinkDeploymentObserver.java           |  2 +-
 .../operator/reconciler/ReconciliationUtils.java   |  2 +-
 .../deployment/AbstractJobReconciler.java          |  2 +-
 .../kubernetes/operator/utils/SavepointUtils.java  | 34 ++++++++++++-------
 .../controller/FlinkDeploymentControllerTest.java  |  4 +--
 .../operator/controller/RollbackTest.java          |  8 ++---
 .../lifecycle/ResourceLifecycleMetricsTest.java    |  2 +-
 .../operator/observer/SavepointObserverTest.java   |  3 +-
 .../deployment/ApplicationReconcilerTest.java      | 13 +-------
 15 files changed, 74 insertions(+), 70 deletions(-)

diff --git a/docs/content/docs/custom-resource/reference.md 
b/docs/content/docs/custom-resource/reference.md
index 543f67aa..8977e5e6 100644
--- a/docs/content/docs/custom-resource/reference.md
+++ b/docs/content/docs/custom-resource/reference.md
@@ -274,8 +274,8 @@ This page serves as a full reference for FlinkDeployment 
custom resource definit
 | timeStamp | long | Millisecond timestamp at the start of the savepoint 
operation. |
 | location | java.lang.String | External pointer of the savepoint can be used 
to recover jobs. |
 | triggerType | 
org.apache.flink.kubernetes.operator.api.status.SavepointTriggerType | 
Savepoint trigger mechanism. |
-| formatType | 
org.apache.flink.kubernetes.operator.api.status.SavepointFormatType |  |
-| triggerNonce | java.lang.Long | Nonce value used when the savepoint was 
triggered manually {@link SavepointTriggerType#MANUAL}, defaults to 0. |
+| formatType | 
org.apache.flink.kubernetes.operator.api.status.SavepointFormatType | Savepoint 
format. |
+| triggerNonce | java.lang.Long | Nonce value used when the savepoint was 
triggered manually {@link SavepointTriggerType#MANUAL}, null for other types of 
savepoints. |
 
 ### SavepointFormatType
 **Class**: org.apache.flink.kubernetes.operator.api.status.SavepointFormatType
@@ -297,9 +297,9 @@ This page serves as a full reference for FlinkDeployment 
custom resource definit
 | ----------| ---- | ---- |
 | lastSavepoint | org.apache.flink.kubernetes.operator.api.status.Savepoint | 
Last completed savepoint by the operator. |
 | triggerId | java.lang.String | Trigger id of a pending savepoint operation. |
-| triggerTimestamp | long | Trigger timestamp of a pending savepoint 
operation. |
+| triggerTimestamp | java.lang.Long | Trigger timestamp of a pending savepoint 
operation. |
 | triggerType | 
org.apache.flink.kubernetes.operator.api.status.SavepointTriggerType | 
Savepoint trigger mechanism. |
-| formatType | 
org.apache.flink.kubernetes.operator.api.status.SavepointFormatType |  |
+| formatType | 
org.apache.flink.kubernetes.operator.api.status.SavepointFormatType | Savepoint 
format. |
 | savepointHistory | 
java.util.List<org.apache.flink.kubernetes.operator.api.status.Savepoint> | 
List of recent savepoints. |
 | lastPeriodicSavepointTimestamp | long | Trigger timestamp of last periodic 
savepoint operation. |
 
diff --git a/e2e-tests/test_application_operations.sh 
b/e2e-tests/test_application_operations.sh
index c9d3565e..457972c8 100755
--- a/e2e-tests/test_application_operations.sh
+++ b/e2e-tests/test_application_operations.sh
@@ -45,8 +45,8 @@ job_id=$(kubectl logs $jm_pod_name -c flink-main-container | 
grep -E -o 'Job [a-
 # Testing trigger savepoint
 kubectl patch $APPLICATION_IDENTIFIER --type merge --patch '{"spec":{"job": 
{"savepointTriggerNonce": 123456 } } }'
 wait_for_logs $jm_pod_name "Triggering savepoint for job" ${TIMEOUT} || exit 1
-wait_for_status $APPLICATION_IDENTIFIER 
'.status.jobStatus.savepointInfo.triggerId' "" $TIMEOUT || exit 1
-wait_for_status $APPLICATION_IDENTIFIER 
'.status.jobStatus.savepointInfo.triggerTimestamp' 0 $TIMEOUT || exit 1
+wait_for_status $APPLICATION_IDENTIFIER 
'.status.jobStatus.savepointInfo.triggerId' null $TIMEOUT || exit 1
+wait_for_status $APPLICATION_IDENTIFIER 
'.status.jobStatus.savepointInfo.triggerTimestamp' null $TIMEOUT || exit 1
 location=$(kubectl get $APPLICATION_IDENTIFIER -o yaml | yq 
'.status.jobStatus.savepointInfo.lastSavepoint.location')
 if [ "$location" == "" ];then
   echo "lost savepoint location"
@@ -68,5 +68,3 @@ wait_for_status flinkdep/flink-example-statemachine 
'.status.jobStatus.state' RU
 assert_available_slots 1 $CLUSTER_ID
 
 echo "Successfully run the last-state upgrade test"
-
-
diff --git a/e2e-tests/test_sessionjob_operations.sh 
b/e2e-tests/test_sessionjob_operations.sh
index 638f3522..b1c88fc2 100755
--- a/e2e-tests/test_sessionjob_operations.sh
+++ b/e2e-tests/test_sessionjob_operations.sh
@@ -46,8 +46,8 @@ assert_available_slots 0 $CLUSTER_ID
 # Testing trigger savepoint
 kubectl patch sessionjob ${SESSION_JOB_NAME} --type merge --patch 
'{"spec":{"job": {"savepointTriggerNonce": 123456 } } }'
 wait_for_logs $jm_pod_name "Triggering savepoint for job" ${TIMEOUT} || exit 1
-wait_for_status $SESSION_JOB_IDENTIFIER 
'.status.jobStatus.savepointInfo.triggerId' "" $TIMEOUT || exit 1
-wait_for_status $SESSION_JOB_IDENTIFIER 
'.status.jobStatus.savepointInfo.triggerTimestamp' 0 $TIMEOUT || exit 1
+wait_for_status $SESSION_JOB_IDENTIFIER 
'.status.jobStatus.savepointInfo.triggerId' null $TIMEOUT || exit 1
+wait_for_status $SESSION_JOB_IDENTIFIER 
'.status.jobStatus.savepointInfo.triggerTimestamp' null $TIMEOUT || exit 1
 location=$(kubectl get $SESSION_JOB_IDENTIFIER -o yaml | yq 
'.status.jobStatus.savepointInfo.lastSavepoint.location')
 if [ "$location" == "" ];then
   echo "lost savepoint location"
diff --git 
a/flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/status/CommonStatus.java
 
b/flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/status/CommonStatus.java
index 5ed0c318..b90949af 100644
--- 
a/flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/status/CommonStatus.java
+++ 
b/flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/status/CommonStatus.java
@@ -41,7 +41,7 @@ public abstract class CommonStatus<SPEC extends 
AbstractFlinkSpec> {
     private JobStatus jobStatus = new JobStatus();
 
     /** Error information about the FlinkDeployment/FlinkSessionJob. */
-    private String error = "";
+    private String error;
 
     /**
      * Current reconciliation status of this resource.
diff --git 
a/flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/status/Savepoint.java
 
b/flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/status/Savepoint.java
index 026ffce0..e754a1cf 100644
--- 
a/flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/status/Savepoint.java
+++ 
b/flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/status/Savepoint.java
@@ -22,6 +22,8 @@ import org.apache.flink.annotation.Experimental;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import javax.annotation.Nullable;
+
 /** Represents information about a finished savepoint. */
 @Experimental
 @Data
@@ -36,42 +38,43 @@ public class Savepoint {
     /** Savepoint trigger mechanism. */
     private SavepointTriggerType triggerType = SavepointTriggerType.UNKNOWN;
 
+    /** Savepoint format. */
     private SavepointFormatType formatType = SavepointFormatType.UNKNOWN;
 
     /**
      * Nonce value used when the savepoint was triggered manually {@link
-     * SavepointTriggerType#MANUAL}, defaults to 0.
+     * SavepointTriggerType#MANUAL}, null for other types of savepoints.
      */
-    private Long triggerNonce = 0L;
+    private Long triggerNonce;
 
     public Savepoint(
             long timeStamp,
             String location,
-            SavepointTriggerType triggerType,
-            SavepointFormatType formatType,
-            Long triggerNonce) {
+            @Nullable SavepointTriggerType triggerType,
+            @Nullable SavepointFormatType formatType,
+            @Nullable Long triggerNonce) {
         this.timeStamp = timeStamp;
         this.location = location;
-        this.triggerType = triggerType;
-        this.formatType = formatType;
-        setTriggerNonce(triggerNonce);
+        if (triggerType != null) {
+            this.triggerType = triggerType;
+        }
+        if (formatType != null) {
+            this.formatType = formatType;
+        }
+        this.triggerNonce = triggerNonce;
     }
 
     public static Savepoint of(String location, SavepointTriggerType 
triggerType) {
         return new Savepoint(
-                System.currentTimeMillis(), location, triggerType, 
SavepointFormatType.UNKNOWN, 0L);
+                System.currentTimeMillis(),
+                location,
+                triggerType,
+                SavepointFormatType.UNKNOWN,
+                null);
     }
 
     public static Savepoint of(
             String location, SavepointTriggerType triggerType, 
SavepointFormatType formatType) {
-        return new Savepoint(System.currentTimeMillis(), location, 
triggerType, formatType, 0L);
-    }
-
-    public void setTriggerNonce(Long triggerNonce) {
-        if (triggerNonce == null) {
-            this.triggerNonce = 0L;
-        } else {
-            this.triggerNonce = triggerNonce;
-        }
+        return new Savepoint(System.currentTimeMillis(), location, 
triggerType, formatType, null);
     }
 }
diff --git 
a/flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/status/SavepointInfo.java
 
b/flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/status/SavepointInfo.java
index ce7562dc..a270e83f 100644
--- 
a/flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/status/SavepointInfo.java
+++ 
b/flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/status/SavepointInfo.java
@@ -38,15 +38,16 @@ public class SavepointInfo {
     private Savepoint lastSavepoint;
 
     /** Trigger id of a pending savepoint operation. */
-    private String triggerId = "";
+    private String triggerId;
 
     /** Trigger timestamp of a pending savepoint operation. */
-    private long triggerTimestamp = 0L;
+    private Long triggerTimestamp;
 
     /** Savepoint trigger mechanism. */
-    private SavepointTriggerType triggerType = SavepointTriggerType.UNKNOWN;
+    private SavepointTriggerType triggerType;
 
-    private SavepointFormatType formatType = SavepointFormatType.UNKNOWN;
+    /** Savepoint format. */
+    private SavepointFormatType formatType;
 
     /** List of recent savepoints. */
     private List<Savepoint> savepointHistory = new ArrayList<>();
@@ -63,8 +64,10 @@ public class SavepointInfo {
     }
 
     public void resetTrigger() {
-        this.triggerId = "";
-        this.triggerTimestamp = 0L;
+        this.triggerId = null;
+        this.triggerTimestamp = null;
+        this.triggerType = null;
+        this.formatType = null;
     }
 
     /**
diff --git 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/observer/deployment/AbstractFlinkDeploymentObserver.java
 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/observer/deployment/AbstractFlinkDeploymentObserver.java
index 6755281d..5cd8f165 100644
--- 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/observer/deployment/AbstractFlinkDeploymentObserver.java
+++ 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/observer/deployment/AbstractFlinkDeploymentObserver.java
@@ -207,7 +207,7 @@ public abstract class AbstractFlinkDeploymentObserver
         if (status.getJobManagerDeploymentStatus() != 
JobManagerDeploymentStatus.ERROR
                 && 
!JobStatus.FAILED.name().equals(dep.getStatus().getJobStatus().getState())
                 && reconciliationStatus.isLastReconciledSpecStable()) {
-            status.setError("");
+            status.setError(null);
         }
     }
 
diff --git 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/reconciler/ReconciliationUtils.java
 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/reconciler/ReconciliationUtils.java
index 9f1da2d3..a7d1b05a 100644
--- 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/reconciler/ReconciliationUtils.java
+++ 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/reconciler/ReconciliationUtils.java
@@ -103,7 +103,7 @@ public class ReconciliationUtils {
         var reconciliationStatus = status.getReconciliationStatus();
 
         // Clear errors
-        status.setError("");
+        status.setError(null);
         
reconciliationStatus.setReconciliationTimestamp(System.currentTimeMillis());
         reconciliationStatus.setState(
                 upgrading ? ReconciliationState.UPGRADING : 
ReconciliationState.DEPLOYED);
diff --git 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/reconciler/deployment/AbstractJobReconciler.java
 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/reconciler/deployment/AbstractJobReconciler.java
index 8c6f7c65..370d96dd 100644
--- 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/reconciler/deployment/AbstractJobReconciler.java
+++ 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/reconciler/deployment/AbstractJobReconciler.java
@@ -247,7 +247,7 @@ public abstract class AbstractJobReconciler<
                 && observeConfig.getBoolean(OPERATOR_JOB_RESTART_FAILED)) {
             LOG.info("Stopping failed Flink job...");
             cleanupAfterFailedJob(resource, context, observeConfig);
-            resource.getStatus().setError("");
+            resource.getStatus().setError(null);
             resubmitJob(resource, context, observeConfig, false);
             return true;
         } else {
diff --git 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/utils/SavepointUtils.java
 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/utils/SavepointUtils.java
index b353a314..29966692 100644
--- 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/utils/SavepointUtils.java
+++ 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/utils/SavepointUtils.java
@@ -54,13 +54,6 @@ public class SavepointUtils {
         var jobStatus = status.getJobStatus();
         var savepointInfo = jobStatus.getSavepointInfo();
 
-        // For non-manual savepointing, we always report SUCCEEDED if no 
longer pending
-        if (savepointInfo.getTriggerType() != SavepointTriggerType.MANUAL) {
-            return savepointInProgress(jobStatus)
-                    ? SavepointStatus.PENDING
-                    : SavepointStatus.SUCCEEDED;
-        }
-
         var targetSavepointTriggerNonce = 
resource.getSpec().getJob().getSavepointTriggerNonce();
         var reconcileSavepointTriggerNonce =
                 status.getReconciliationStatus()
@@ -68,19 +61,36 @@ public class SavepointUtils {
                         .getJob()
                         .getSavepointTriggerNonce();
 
+        if (savepointInfo.getTriggerId() != null) {
+            return SavepointStatus.PENDING;
+        }
+
         // if savepointTriggerNonce is cleared, savepoint is not triggered.
-        // For manual savepointing, we report pending status
+        // For manual savepoints, we report pending status
         // during retries while the triggerId gets reset between retries.
         if (targetSavepointTriggerNonce != null
                 && !Objects.equals(targetSavepointTriggerNonce, 
reconcileSavepointTriggerNonce)) {
             return SavepointStatus.PENDING;
         }
-        if (savepointInfo.getLastSavepoint() != null
-                && Objects.equals(
-                        reconcileSavepointTriggerNonce,
-                        savepointInfo.getLastSavepoint().getTriggerNonce())) {
+
+        var lastSavepoint = savepointInfo.getLastSavepoint();
+        if (lastSavepoint != null) {
+            // Last savepoint was manual and triggerNonce matches
+            if (Objects.equals(
+                    reconcileSavepointTriggerNonce,
+                    savepointInfo.getLastSavepoint().getTriggerNonce())) {
+                return SavepointStatus.SUCCEEDED;
+            }
+
+            // Last savepoint was not manual
+            if (lastSavepoint.getTriggerType() != SavepointTriggerType.MANUAL) 
{
+                return SavepointStatus.SUCCEEDED;
+            }
+        } else {
+            // Currently, we return SUCCEEDED if no savepoints were ever taken
             return SavepointStatus.SUCCEEDED;
         }
+
         return SavepointStatus.ABANDONED;
     }
 
diff --git 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/FlinkDeploymentControllerTest.java
 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/FlinkDeploymentControllerTest.java
index 2bb1f02c..9669242e 100644
--- 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/FlinkDeploymentControllerTest.java
+++ 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/FlinkDeploymentControllerTest.java
@@ -131,7 +131,7 @@ public class FlinkDeploymentControllerTest {
         // Validate reconciliation status
         ReconciliationStatus<FlinkDeploymentSpec> reconciliationStatus =
                 appCluster.getStatus().getReconciliationStatus();
-        assertEquals("", appCluster.getStatus().getError());
+        assertNull(appCluster.getStatus().getError());
         assertEquals(appCluster.getSpec(), 
reconciliationStatus.deserializeLastReconciledSpec());
         
assertNull(appCluster.getStatus().getReconciliationStatus().getLastStableSpec());
 
@@ -971,7 +971,7 @@ public class FlinkDeploymentControllerTest {
         assertEquals(
                 JobManagerDeploymentStatus.READY,
                 appCluster.getStatus().getJobManagerDeploymentStatus());
-        assertEquals("", appCluster.getStatus().getError());
+        assertNull(appCluster.getStatus().getError());
 
         assertEquals(
                 
appCluster.getStatus().getReconciliationStatus().getLastReconciledSpec(),
diff --git 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/RollbackTest.java
 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/RollbackTest.java
index 0efed72e..f2fc4d05 100644
--- 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/RollbackTest.java
+++ 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/RollbackTest.java
@@ -343,7 +343,7 @@ public class RollbackTest {
         assertEquals(
                 ReconciliationState.DEPLOYED,
                 deployment.getStatus().getReconciliationStatus().getState());
-        assertEquals("", deployment.getStatus().getError());
+        assertNull(deployment.getStatus().getError());
 
         deployment.getSpec().setRestartNonce(456L);
         triggerRollback.run();
@@ -375,7 +375,7 @@ public class RollbackTest {
             assertEquals(
                     ReconciliationState.DEPLOYED,
                     
deployment.getStatus().getReconciliationStatus().getState());
-            assertEquals("", deployment.getStatus().getError());
+            assertNull(deployment.getStatus().getError());
 
             deployment.getSpec().getJob().setState(JobState.RUNNING);
             testController.reconcile(deployment, context);
@@ -388,7 +388,7 @@ public class RollbackTest {
             assertEquals(
                     ReconciliationState.DEPLOYED,
                     
deployment.getStatus().getReconciliationStatus().getState());
-            assertEquals("", deployment.getStatus().getError());
+            assertNull(deployment.getStatus().getError());
 
             // Verify suspending a rolled back job
             triggerRollback.run();
@@ -406,7 +406,7 @@ public class RollbackTest {
             assertEquals(
                     ReconciliationState.DEPLOYED,
                     
deployment.getStatus().getReconciliationStatus().getState());
-            assertEquals("", deployment.getStatus().getError());
+            assertNull(deployment.getStatus().getError());
         }
     }
 }
diff --git 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/metrics/lifecycle/ResourceLifecycleMetricsTest.java
 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/metrics/lifecycle/ResourceLifecycleMetricsTest.java
index 90e72524..61516a89 100644
--- 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/metrics/lifecycle/ResourceLifecycleMetricsTest.java
+++ 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/metrics/lifecycle/ResourceLifecycleMetricsTest.java
@@ -81,7 +81,7 @@ public class ResourceLifecycleMetricsTest {
         
application.getStatus().getJobStatus().setState(JobStatus.FAILED.name());
         assertEquals(FAILED, application.getStatus().getLifecycleState());
 
-        application.getStatus().setError("");
+        application.getStatus().setError(null);
 
         application
                 .getStatus()
diff --git 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/observer/SavepointObserverTest.java
 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/observer/SavepointObserverTest.java
index dd4d3d07..85c51d58 100644
--- 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/observer/SavepointObserverTest.java
+++ 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/observer/SavepointObserverTest.java
@@ -43,6 +43,7 @@ import java.util.Collections;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /** Tests for {@link SavepointObserver}. */
@@ -172,6 +173,6 @@ public class SavepointObserverTest {
         assertEquals(savepointInfo.getLastSavepoint(), 
savepointInfo.getSavepointHistory().get(0));
         assertEquals(
                 SavepointTriggerType.PERIODIC, 
savepointInfo.getLastSavepoint().getTriggerType());
-        assertEquals(0L, savepointInfo.getLastSavepoint().getTriggerNonce());
+        assertNull(savepointInfo.getLastSavepoint().getTriggerNonce());
     }
 }
diff --git 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/reconciler/deployment/ApplicationReconcilerTest.java
 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/reconciler/deployment/ApplicationReconcilerTest.java
index b2b2bb11..39b03365 100644
--- 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/reconciler/deployment/ApplicationReconcilerTest.java
+++ 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/reconciler/deployment/ApplicationReconcilerTest.java
@@ -287,23 +287,13 @@ public class ApplicationReconcilerTest {
                 SavepointTriggerType.MANUAL,
                 
spDeployment.getStatus().getJobStatus().getSavepointInfo().getTriggerType());
 
-        
spDeployment.getStatus().getJobStatus().getSavepointInfo().resetTrigger();
         ReconciliationUtils.updateLastReconciledSavepointTriggerNonce(
                 spDeployment.getStatus().getJobStatus().getSavepointInfo(), 
spDeployment);
+        
spDeployment.getStatus().getJobStatus().getSavepointInfo().resetTrigger();
 
         // don't trigger when nonce is the same
         reconciler.reconcile(spDeployment, context);
         
assertFalse(SavepointUtils.savepointInProgress(spDeployment.getStatus().getJobStatus()));
-
-        
spDeployment.getStatus().getJobStatus().getSavepointInfo().resetTrigger();
-        ReconciliationUtils.updateLastReconciledSavepointTriggerNonce(
-                spDeployment.getStatus().getJobStatus().getSavepointInfo(), 
spDeployment);
-        // If manual savepointing is done but the last savepont is not 
updated, it is considered
-        // abandoned.
-        assertEquals(
-                SavepointStatus.ABANDONED, 
SavepointUtils.getLastSavepointStatus(spDeployment));
-
-        updateLastSavepoint(spDeployment);
         assertEquals(
                 SavepointStatus.SUCCEEDED, 
SavepointUtils.getLastSavepointStatus(spDeployment));
 
@@ -329,7 +319,6 @@ public class ApplicationReconcilerTest {
         assertEquals(
                 SavepointTriggerType.MANUAL,
                 
spDeployment.getStatus().getJobStatus().getSavepointInfo().getTriggerType());
-        
spDeployment.getStatus().getJobStatus().getSavepointInfo().resetTrigger();
         ReconciliationUtils.updateLastReconciledSavepointTriggerNonce(
                 spDeployment.getStatus().getJobStatus().getSavepointInfo(), 
spDeployment);
         updateLastSavepoint(spDeployment);

Reply via email to