Skip to content

Commit 40d1fcf

Browse files
committed
Add manifest caching notes to docs
1 parent 981aadf commit 40d1fcf

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

mkdocs/docs/configuration.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,21 @@ The environment variable picked up by Iceberg starts with `PYICEBERG_` and then
4848

4949
For example, `PYICEBERG_CATALOG__DEFAULT__S3__ACCESS_KEY_ID`, sets `s3.access-key-id` on the `default` catalog.
5050

51+
## Manifest Caching
52+
53+
PyIceberg caches `ManifestFile` objects locally and uses an LRU policy to bound the cache size. By default, up to `128`
54+
manifest entries are retained.
55+
56+
You can change the cache size with the `PYICEBERG_MANIFEST_CACHE_SIZE` environment variable:
57+
58+
```sh
59+
export PYICEBERG_MANIFEST_CACHE_SIZE=256
60+
```
61+
62+
The memory used by this cache depends on the size and number of distinct manifests your workload touches. Lower the value
63+
if you want a tighter memory bound, or call `clear_manifest_cache()` to proactively release cached manifest metadata in
64+
long-lived processes. Setting `PYICEBERG_MANIFEST_CACHE_SIZE` to `0` disables manifest caching entirely.
65+
5166
## Tables
5267

5368
Iceberg tables support table properties to configure table behavior.

0 commit comments

Comments
 (0)