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