feiniaofeiafei opened a new pull request, #66258:
URL: https://github.com/apache/doris/pull/66258
### What problem does this PR solve?
Issue Number: None
Related PR: None
Problem Summary: A full external catalog refresh invalidates the
name-to-object cache and the ID-to-name mapping separately. A concurrent name
lookup can reload an object after object invalidation but before the reverse
mapping is cleared, leaving later ID-based metadata lookups unable to find an
existing table. In addition, a name-cache hit did not repair a missing reverse
mapping. Clear the reverse mapping before invalidating cached objects, and
restore the mapping whenever a name lookup hits an existing cached object.
ExternalRowCountCache remains unchanged and continues to use IDs only.
### Release note
Fix transient external table row-count lookup failures during catalog
metadata refresh.
### Check List (For Author)
- Test: Unit Test
- ./run-fe-ut.sh --run
org.apache.doris.datasource.MetaCacheTest,org.apache.doris.datasource.ExternalRowCountCacheTest,org.apache.doris.datasource.metacache.MetaCacheDeadlockTest
- mvn checkstyle:check -pl fe-core
- Behavior changed: Yes. Name-based external metadata cache hits repair
the ID-to-name mapping, and refresh preserves mappings rebuilt during
invalidation.
- Does this need documentation: No
--
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]