yuqi1129 commented on code in PR #12445:
URL: https://github.com/apache/gravitino/pull/12445#discussion_r3793370776
##########
core/src/main/java/org/apache/gravitino/catalog/CatalogChangeLogListener.java:
##########
@@ -35,12 +36,24 @@
* <p>This listener is called <em>synchronously</em> in the poller thread.
Implementations must not
* block or perform expensive I/O; only fast, in-memory cache invalidations
are permitted.
*
- * <p>This listener never propagates a failure to the poller, so the poller
never retries a batch
- * for it. That is deliberate: local-mutation de-duplication ({@link
- * CatalogManager#consumeLocalMutation}) is single-shot, so re-delivering an
already-applied batch
- * would invalidate a catalog this process mutated itself and close its
still-in-use {@code
- * IsolatedClassLoader}. Dropping an invalidation is the cheaper failure: the
catalog cache expires
- * on access, so staleness is bounded by {@code
gravitino.catalog.cache.evictionIntervalMs}.
+ * <p>The poller requires each listener to be self-healing, and this one
recovers the same way
+ * {@code EntityCacheChangeLogListener} and {@code JcasbinChangeListener} do:
a failed eviction
+ * clears the whole catalog cache, which is a strict superset of the eviction
that failed and of the
Review Comment:
`which is a strict superset of the eviction that failed and of the` just
wants to emphasize invalidating all cache could definitely cover the failed
records. Let me just make them more readable.
--
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]