Persistence model built around implementation details
- Dominant language
- Java
- Stars
- 2.1k
- Forks
- 522
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 137
Description
### Describe the bug
The persistence model (as in `org.apache.polaris.core.entity`) is built around assumptions for a particular implementation. It does not just define different entity types (think: catalog, namespace, table, etc) but also implementation details about cache and data consistency details. These details leak though the whole code base that has to deal with any kind of entity. This makes it extremely difficult to use another persistence backend than the one this persistence model was built for, like the "simpler KV store" mentioned in `PolarisMetaStoreSession`.
### To Reproduce
_No response_
### Actual Behavior
_No response_
### Expected Behavior
_No response_
### Additional context
_No response_
### System information
_No response_
Contributor guide
Research direction
Start by reading the persistence entities under org.apache.polaris.core.entity and the PolarisMetaStoreSession entry point. Trace where cache and consistency assumptions are consumed across the codebase, then define the boundaries needed for a backend-independent persistence model. Done means the issue has an agreed design and clear validation for supporting another persistence backend.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, databases
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100