yuqi1129 commented on code in PR #12445:
URL: https://github.com/apache/gravitino/pull/12445#discussion_r3793379830


##########
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
+ * rest of the batch. A malformed row is skipped instead, because it names no 
catalog and so leaves

Review Comment:
   `names` means `shows` here, I haved polished it. 



##########
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
+ * rest of the batch. A malformed row is skipped instead, because it names no 
catalog and so leaves

Review Comment:
   `names` means `shows` here, I have polished it. 



-- 
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]

Reply via email to