yuqi1129 opened a new pull request, #13831: URL: https://github.com/apache/gravitino/pull/13831
### What changes were proposed in this pull request? - Replay recent change-log rows behind the cursor with bounded ID deduplication, diagnostics, and explicit listener opt-in. - Fence point-read/insert cache publication without requiring reentrant SPI locks. - Invalidate local and replayed catalog events while preserving operation leases; update configuration and metrics documentation. ### Why are the changes needed? ID allocation order differs from commit order. Concurrent cache publication and name-based local catalog markers can also leave stale entries. Refs #13828; this PR implements the P0 fixes and leaves the remaining EPIC work open. ### Does this PR introduce _any_ user-facing change? Adds `gravitino.entityChangeLog.replayWindowSecs` (default `60`; `0` disables replay) and `gravitino.entityChangeLog.replayMaxEntries` (default `100000`). Existing third-party listeners remain incremental-only. No schema or cache-TTL change. Replay adds database reads and possible catalog reloads. Its window uses recorded `created_at`, including PostgreSQL transaction-start timestamps; long transactions, pruned history, or overload can still lose invalidations. Replay-only full-page cycles currently perform incremental, tail, and replay queries; performance tuning remains EPIC follow-up work. ### How was this patch tested? - Core: 2,761 tests; server-common: 485 tests. Zero failures, two skipped. - Local H2/MySQL/PostgreSQL late-commit probes and shared-PostgreSQL three-JVM checks for ten cacheable entity types passed. - Three P0 regressions fail when old behavior is restored; the non-reentrant SPI regression fails on the initial implementation and passes after the compatibility fix. - Spotless, compilation, and diff checks passed. Unit-suite command: ```bash LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 ./gradlew :core:test :server-common:test -PskipITs -PskipDockerTests=true ``` -- 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]
