okumin commented on code in PR #5882:
URL: https://github.com/apache/hive/pull/5882#discussion_r2266003982


##########
standalone-metastore/metastore-rest-catalog/src/main/java/org/apache/iceberg/rest/HMSCachingCatalog.java:
##########
@@ -63,6 +69,48 @@ public List<Namespace> listNamespaces(Namespace nmspc) 
throws NoSuchNamespaceExc
     return hiveCatalog.listNamespaces(nmspc);
   }
 
+  @Override
+  public Table loadTable(TableIdentifier identifier) {
+    final Cache<TableIdentifier, Table> cache = this.tableCache;
+    final HiveCatalog catalog = this.hiveCatalog;
+    final TableIdentifier canonicalized = identifier.toLowerCase();
+    Table cachedTable = cache.getIfPresent(canonicalized);
+    if (cachedTable != null) {
+      String location = catalog.getTableLocation(canonicalized);

Review Comment:
   The current server-side cache assumes the following race conditions. Say we 
have two HAed HMS instances X and Y with RANDOM load-balancing.
   
   1. User A caches a table at T1 in HMS X
   2. User B updates the same table to T2 and caches it in HMS Y
   3. User C fetches the same table from HMS X, and HMS X returns the table at 
T1
   
   I suppose the server-side eventual consistency requires us to design and 
advertise the consistency semantics carefully. I'd say the client side should 
do such a control.



-- 
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: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org
For additional commands, e-mail: gitbox-h...@hive.apache.org

Reply via email to