ivandika3 commented on code in PR #11365:
URL: https://github.com/apache/ozone/pull/11365#discussion_r4180435926
##########
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/S3SecretManager.java:
##########
@@ -102,6 +105,7 @@ default void updateCache(String accessId, S3SecretValue
secret) {
if (cache != null) {
LOG.info("Updating cache for accessId/user: {}.", accessId);
cache.put(accessId, secret);
+ TableCacheUpdateTracker.recordCacheUpdate(S3_SECRET_TABLE);
Review Comment:
The `S3SecretManager` uses table cache, but the implementation does not use
the unified `TypedTable`, probably because it supports both external S3 secret
store (i.e. `VaultSecretStore`) and embedded (OM RocksDB), but Ozone table
mechanisms only support RocksDB (`TypedTable` uses `RDBTable` as the underlying
store).
There is also cache related cleanup logic in `OzoneManagerDoubleBuffer` just
for `S3_SECRET_TABLE` which I think it kind of hacky since the whole cache
evictions has already been supported by the OM `TableCache`. Technically, it
should be possible to unify it by making the `S3SecretCache` to be a
`TableCache`, but this means that we might need to make OM to generalize the
table cache and store implementation API (where the store can support other
remote store like `VaultStore` or even things like remote KV store which means
that OM only stores in-memory cache similar to QiHoo OM architecture, see
https://github.com/apache/ozone/files/13347053/OM.-Qihoo.pdf), which is going
to be quite involved.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]