924060929 opened a new pull request, #66382:
URL: https://github.com/apache/doris/pull/66382
### What problem does this PR solve?
Issue Number: None
Related PR: #65126
Problem Summary: External metadata caching currently has parallel
implementations in FE core and connector
modules. Cache policy, statistics, invalidation, lifecycle, and concurrency
behavior are therefore duplicated,
while connector implementations still depend on FE-owned concepts.
This PR introduces an implementation-free MetaCache SPI module and a shared
Caffeine-backed runtime module.
Common lifecycle, entry, registry, statistics, invalidation, and ID/name
coordination are moved into these
modules. FE core retains only FE-specific catalog routing, configuration
injection, refresh orchestration,
edit-log integration, and schema validation. Hive, HMS, Iceberg, Paimon, and
MaxCompute consumers are migrated
to the shared implementation.
The refactor preserves the existing connector constructor policy and the
guarded bulk-load contract. A guarded
bulk publication participates in the same short generation protocol as
manual miss loads, exact-key actions, and
asynchronous refreshes, while REFRESH/flush invalidation continues to win
without holding a publication monitor
during external I/O.
### Release note
None
### Check List (For Author)
- Test
- [ ] Regression test
- [x] Unit Test
- All seven MetaCache runtime test classes: 87 tests
- `CachingHmsClientTest`: 23 tests
- [ ] Manual test (add detailed scripts or steps below)
- [ ] No need to test or manual test
- Full FE build: `./build.sh --fe -j8`
- Checkstyle: 0 violations
- Behavior changed:
- [x] No. This is a module-boundary refactor that preserves connector
cache, FE refresh, scoped
invalidation, bulk-load generation-fence, and plugin class-identity
behavior.
- [ ] Yes.
- Does this need documentation?
- [x] No.
- [ ] Yes.
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]