You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@streampark.apache.org by "zhang-arvin (via GitHub)" <gi...@apache.org> on 2026/08/20 05:01:12 UTC
[PR] [Fix] Fix savepoint state stuck in SAVEPOINTING after savepoint completion (#4338) [streampark]
zhang-arvin opened a new pull request, #4504:
URL: https://github.com/apache/streampark/pull/4504
## What problem does this PR solve?
Fixes #4338: When manually triggering a savepoint, the release status remains in WAITING/SAVEPOINTING state even after the savepoint completes.
## Root Cause Analysis
1. **`DeflaterUtils.unzipString()`** throws `IllegalArgumentException` when `flinkConf` is not valid Base64 (e.g., stored as plain file path instead of compressed content). This exception propagates up through `saveSavepoint()` → `save()` → `expire()` → `getChkNumRetainedFromFlinkEnv()` → `convertFlinkYamlAsMap()` → `unzipString()`.
2. **`FlinkCheckpointProcessor.process()`** does not clean the `SAVEPOINT_CACHE` when `saveSavepoint()` throws an exception. This causes the `FlinkAppHttpWatcher` to keep setting the option state to `SAVEPOINTING` on every poll cycle, since the cache entry is never removed.
## Changes
1. **`DeflaterUtils.unzipString()`**: Catch `IllegalArgumentException` from `Base64.getDecoder().decode()` and return `null` gracefully, similar to the existing `DataFormatException` handling.
2. **`FlinkCheckpointProcessor.process()`**: Wrap `saveSavepoint()` in try-finally to ensure `cleanSavepoint()` is always called, preventing the `SAVEPOINT_CACHE` from leaking.
3. **`FlinkEnv.convertFlinkYamlAsMap()` and `getFlinkConfig()`**: Handle null return from `unzipString()` gracefully, returning empty map/properties.
## Verification
- [x] Manual code review of the savepoint trigger flow
- [x] Confirmed the fix addresses the root cause described in #4338
--
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.
To unsubscribe, e-mail: issues-unsubscribe@streampark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [Fix] Fix savepoint state stuck in SAVEPOINTING after savepoint completion (#4338) [streampark]
Posted by "sonarqubecloud[bot] (via GitHub)" <gi...@apache.org>.
sonarqubecloud[bot] commented on PR #4504:
URL: https://github.com/apache/streampark/pull/4504#issuecomment-5695031327
## [](https://sonarcloud.io/dashboard?id=apache_incubator-streampark&pullRequest=4504) **Quality Gate passed**
Issues
 [0 New issues](https://sonarcloud.io/project/issues?id=apache_incubator-streampark&pullRequest=4504&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)
 [0 Accepted issues](https://sonarcloud.io/project/issues?id=apache_incubator-streampark&pullRequest=4504&issueStatuses=ACCEPTED)
Measures
 [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_incubator-streampark&pullRequest=4504&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)
 [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_incubator-streampark&pullRequest=4504&metric=new_coverage&view=list)
 [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=apache_incubator-streampark&pullRequest=4504&metric=new_duplicated_lines_density&view=list)
<!-- sqra-placement-anchor -->
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=apache_incubator-streampark&pullRequest=4504)
--
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.
To unsubscribe, e-mail: issues-unsubscribe@streampark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [Fix] Fix savepoint state stuck in SAVEPOINTING after savepoint completion (#4338) [streampark]
Posted by "sonarqubecloud[bot] (via GitHub)" <gi...@apache.org>.
sonarqubecloud[bot] commented on PR #4504:
URL: https://github.com/apache/streampark/pull/4504#issuecomment-5351583368
## [](https://sonarcloud.io/dashboard?id=apache_incubator-streampark&pullRequest=4504) **Quality Gate passed**
Issues
 [0 New issues](https://sonarcloud.io/project/issues?id=apache_incubator-streampark&pullRequest=4504&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)
 [0 Accepted issues](https://sonarcloud.io/project/issues?id=apache_incubator-streampark&pullRequest=4504&issueStatuses=ACCEPTED)
Measures
 [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_incubator-streampark&pullRequest=4504&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)
 [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_incubator-streampark&pullRequest=4504&metric=new_coverage&view=list)
 [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=apache_incubator-streampark&pullRequest=4504&metric=new_duplicated_lines_density&view=list)
<!-- sqra-placement-anchor -->
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=apache_incubator-streampark&pullRequest=4504)
--
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.
To unsubscribe, e-mail: issues-unsubscribe@streampark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org