[Bug] storage fallback strategy is ineffective
- Dominant language
- Java
- Stars
- 454
- Forks
- 172
- Avg merge
- 5d 17h
- Merged PRs (30d)
- 5
Description
### Code of Conduct
- [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
### Search before asking
- [x] I have searched in the [issues](https://github.com/apache/incubator-uniffle/issues?q=is%3Aissue) and found no similar issues.
### Describe the bug
I found the storage fallback strategy is not working now, i don't know the casue currently
### Affects Version(s)
0.9
### Uniffle Server Log Output
```logtalk
[2025-11-13 17:14:36.225] [HadoopFlushEventThreadPool-45] [WARN] SingleStorageManager.write - Exception happened when write data for ShuffleDataFlushEvent: eventId=768165, appId=application_1748950399685_64161994_1763024148492, shuffleId=2, startPartition=1873, endPartition=1873, retryTimes=0, underStorage=HadoopStorage, isPended=false, ownedByHugePartition=false, try again
[2025-11-13 17:16:05.772] [FallBackFlushEventThreadPool-1] [WARN] SingleStorageManager.write - Exception happened when write data for ShuffleDataFlushEvent: eventId=768165, appId=application_1748950399685_64161994_1763024148492, shuffleId=2, startPartition=1873, endPartition=1873, retryTimes=1, underStorage=HadoopStorage, isPended=true, ownedByHugePartition=false, try again
[2025-11-13 17:17:38.346] [FallBackFlushEventThreadPool-3] [WARN] SingleStorageManager.write - Exception happened when write data for ShuffleDataFlushEvent: eventId=768165, appId=application_1748950399685_64161994_1763024148492, shuffleId=2, startPartition=1873, endPartition=1873, retryTimes=2, underStorage=HadoopStorage, isPended=true, ownedByHugePartition=false, try again
[2025-11-13 17:17:49.973] [FallBackFlushEventThreadPool-0] [WARN] ShuffleFlushManager.processFlushEvent - AppId application_1748950399685_64161994_1763024148492 was removed already, event:ShuffleDataFlushEvent: eventId=768165, appId=application_1748950399685_64161994_1763024148492, shuffleId=2, startPartition=1873, endPartition=1873, retryTimes=3, underStorage=HadoopStorage, isPended=true, ownedByHugePartition=false should be dropped
```
### Uniffle Engine Log Output
```logtalk
```
### Uniffle Server Configurations
```yaml
rss.server.hybrid.storage.fallback.strategy.class org.apache.uniffle.server.storage.RotateStorageManagerFallbackStrategy
```
### Uniffle Engine Configurations
```yaml
```
### Additional context
_No response_
### Are you willing to submit PR?
- [ ] Yes I am willing to submit a PR!
Contributor guide
Research direction
Start with RotateStorageManagerFallbackStrategy and trace the SingleStorageManager.write and ShuffleFlushManager.processFlushEvent paths shown in the logs. Reproduce the configured fallback scenario and determine why retries remain on HadoopStorage; done when a failed write reaches the fallback storage instead of the event being dropped.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- hadoop, java
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100