Client receives unclear exception when accessing removed partitions
- Dominant language
- Java
- Stars
- 2.1k
- Forks
- 625
- Avg merge
- 3d 14h
- Merged PRs (30d)
- 97
Description
### Search before asking
- [x] I searched in the [issues](https://github.com/alibaba/fluss/issues) and found nothing similar.
### Fluss version
0.7.0 (latest release)
### Please describe the bug 🐞
While we have implemented several latch mechanisms (e.g., Java locks) to protect atomicity in short critical sections, we still lack a proper database lock system to ensure ACID properties (specifically atomicity, consistency, and isolation) for DDL transactions. This allows concurrent operations to access intermediate states of DDL 'transactions', violating meta integrity.
For example:
- RemoteLogDownloader may throw "No such file or directory" exceptions during partition removal
- ReplicaManager may throw LogOffsetOutOfRangeException during concurrent reads on deleted partitions
Though full ACID support for DDL transactions may be considered in future, we should initially:
1. Fix the exception types thrown in these scenarios
2. Make user code clearly identify and handle such errors
### Solution
_No response_
### Are you willing to submit a PR?
- [x] I'm willing to submit a PR!
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the RemoteLogDownloader and ReplicaManager paths involved when partitions are removed concurrently, then reproduce the reported failures during partition deletion and reads. Done means these scenarios expose clear, user-identifiable exception types instead of "No such file or directory" or LogOffsetOutOfRangeException, with the affected behavior verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100