[ https://issues.apache.org/jira/browse/FLINK-30119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Clara Xiong updated FLINK-30119: -------------------------------- Summary: Breaking change: Flink Kubernetes Operator should store last savepoint in the SavepointInfo.lastSavepoint field whether it is completed or pending (was: Flink Kubernetes Operator should store last savepoint in the SavepointInfo.lastSavepoint field whether it is completed or pending) > Breaking change: Flink Kubernetes Operator should store last savepoint in the > SavepointInfo.lastSavepoint field whether it is completed or pending > -------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: FLINK-30119 > URL: https://issues.apache.org/jira/browse/FLINK-30119 > Project: Flink > Issue Type: Improvement > Components: Kubernetes Operator > Reporter: Clara Xiong > Assignee: Clara Xiong > Priority: Major > > End user experience proposal: > Users can see the properties of last savepoint pending or completed and can > get status in one of three states for the status: PENDING, SUCCEEDED and > FAILED. If there is never savepoint taken or attempted, it is empty. > Completed savepoints (manual, periodic and upgrade) are included Savepoint > history, merged with savepoints form Flink job. > Users can see this savepoint with PENDING status once one is trigger. Once > completed, users can see last savepoint status changed to SUCCEEDED and > included in savepoint history, or FAILED and not in savepoint history. If > there is other savepoint triggered after completion before user checks, user > cannot see the status of the one they triggered but they can check if the > savepoint is in the history. > Currently lastSavepoint only stores the last completed one, duplicate with > savepoint history. To expose the properties of the currently pending > savepoint or last savepoint that failed, we need to expose those info in > separate fields in SavepointInfo. The internal logic of Operator uses those > fields for triggering and retries and creates compatibility issues with > client. It also use more space for etcd size limit. > Code change proposal: > Use lastSavepoint to store the last completed/attempted one and deprecate > SavepointInfo.triggerTimstamp, SavepointInfo.triggerType and > SavepointInfo.formatType. This will simplify the CRD and logic. > Add SavepointInfo::retrieveLastSavepoint method to return the last succeeded > one. > Update getLastSavepointStatus to simplify the logic. -- This message was sent by Atlassian Jira (v8.20.10#820010)