yuqi1129 opened a new issue, #12150:
URL: https://github.com/apache/gravitino/issues/12150
### Describe the subtask
Add an explicit cache-bypass read mode for operations that cannot safely
depend on asynchronously invalidated entity data.
The local Caffeine cache provides eventual cross-node freshness. Ordinary
metadata reads may accept bounded staleness, but operations that control
writes, authorization decisions, external actions, or connector behavior need a
fresh value from the underlying `EntityStore`.
This subtask should:
- Add an explicit fresh-read mode for `get` and `batchGet`, or equivalent
APIs.
- Ensure a fresh read bypasses both cache lookup and cache refill unless the
refill is version-fenced.
- Audit and migrate consistency-sensitive call sites, including:
- metalake usage-state preconditions;
- policy state transitions and policy data used for action decisions;
- job status and cancellation;
- job template execution;
- fileset paths and credentials used for external I/O;
- catalog provider/properties used to create or reload catalog wrappers;
- managed schema/table reads used as write or external-action
preconditions.
- Preserve the normal cached path for ordinary metadata reads.
- Add metrics for fresh reads so their cost and usage can be observed.
Acceptance criteria:
- Every audited sensitive call site has an explicit cached-or-fresh decision.
- Tests inject a stale cache entry and verify that sensitive operations use
current store data.
- Ordinary read paths continue to use the cache.
- The consistency semantics are documented for callers.
### Parent issue
#11737
--
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]