diff --git a/owners-common/src/main/java/com/googlesource/gerrit/owners/common/PathOwnersEntriesCache.java b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/PathOwnersEntriesCache.java
index 901dbc8..aea33ff 100644
--- a/owners-common/src/main/java/com/googlesource/gerrit/owners/common/PathOwnersEntriesCache.java
+++ b/owners-common/src/main/java/com/googlesource/gerrit/owners/common/PathOwnersEntriesCache.java
@@ -26,6 +26,7 @@
 import com.google.inject.Module;
 import com.google.inject.Singleton;
 import com.google.inject.TypeLiteral;
+import java.time.Duration;
 import java.util.Objects;
 import java.util.Optional;
 import java.util.concurrent.Callable;
@@ -38,7 +39,9 @@
     return new CacheModule() {
       @Override
       protected void configure() {
-        cache(CACHE_NAME, Key.class, new TypeLiteral<Optional<OwnersConfig>>() {});
+        cache(CACHE_NAME, Key.class, new TypeLiteral<Optional<OwnersConfig>>() {})
+            .maximumWeight(Long.MAX_VALUE)
+            .expireAfterWrite(Duration.ofSeconds(60));
         bind(PathOwnersEntriesCache.class).to(PathOwnersEntriesCacheImpl.class);
         DynamicSet.bind(binder(), GitBatchRefUpdateListener.class)
             .to(OwnersRefUpdateListener.class);
diff --git a/owners/src/main/resources/Documentation/how-to-use.md b/owners/src/main/resources/Documentation/how-to-use.md
index aa9191a..1ccff9d 100644
--- a/owners/src/main/resources/Documentation/how-to-use.md
+++ b/owners/src/main/resources/Documentation/how-to-use.md
@@ -123,3 +123,28 @@
 The owners status per file when [default submit
 requirements](config.html#owners.enableSubmitRequirement) are enabled doesn't
 differ from [submit requirements mode](#ownersStatus.submitRequirement.files).
+
+### Files that are assigned to the current user based on the OWNERS
+
+When the current user is mentioned directly or indirectly via a group
+ownership as the owner of one or more files, the change screen displays
+an additional tab called _Owned Files_.
+
+![owned_files](./owned-files.png "Owned Files")
+
+The tab indicates whether the current user has review duties  based on the
+icon displayed on the right side of the tab. If the icon is an orange
+clock, the current user is required to review the files indicated in the
+tab; otherwise, if the icon is a green tick, then the current user review
+input is not strictly required for the change to be merged.
+
+The list of files included in the _Owned Files_ tab, a subset of the full
+list displayed in the _Files_ tab, are the ones assigned to the
+current user through the OWNERS file.
+
+> **NOTE**: When the `owners.config` has `owners.expandGroups = false`
+> then the association between files and the current user may not be
+> accurate or not available because of the lack of group expansion and
+> account resolution service on the backend. In this case, the
+> _Owned Files_ tab may be absent even if the current user is effectively
+> owner of one or more files in the change.
diff --git a/owners/src/main/resources/Documentation/owned-files.png b/owners/src/main/resources/Documentation/owned-files.png
new file mode 100644
index 0000000..f88cbee
--- /dev/null
+++ b/owners/src/main/resources/Documentation/owned-files.png
Binary files differ
