Replies: 8 comments 12 replies
-
This cache is based on iceberg metadata files which are guaranteed to be immutable by the iceberg spec. |
Beta Was this translation helpful? Give feedback.
-
Hello, Regarding the response, you mentioned that the cache is based on Iceberg metadata files, which are guaranteed to be immutable by the Iceberg spec. I would like to understand this in more detail. When there are changes to the Iceberg table spec (such as adding or modifying columns, or changing sort, Z-order, partition, etc.), new metadata files are created. Could you clarify what is meant by "immutable" in this context when the spec of the Iceberg table can change and generate new metadata files? Thank you for your explanation. |
Beta Was this translation helpful? Give feedback.
-
What I meant is that there are no in-place updates to iceberg metadata files, we only add new metadata or delete old metadata that is no longer referenced. So the cache will fetch new metadata as needed and never serve stale metadata. This makes it unnecessary to manually refresh or invalidate the cache. |
Beta Was this translation helpful? Give feedback.
-
Question: As the number of tables grows, the size of Iceberg metadata also increases, which in turn affects the size of the metadata cache on the coordinator. Could you explain Trino's policy or strategy for managing Iceberg metadata cache under such conditions? Specifically: How does Trino ensure that the coordinator doesn't run out of memory due to large metadata cache usage? Additionally, when iceberg.metadata-cache.enabled is set to true, fs.cache.enabled must be set to false. In this case, does that mean the io.trino.filesystem.memory.MemoryFileSystemCacheConfig is not used at all? How does Trino handle cache configuration in this scenario? Thank you! |
Beta Was this translation helpful? Give feedback.
-
@raunaqmorarka For iceberg.metadata-cache.enabled = true and fs.cache.enabled = false, I am curious about how metadata cache management is configured. For iceberg.metadata-cache.enabled = true and fs.cache.enabled = true, I understand that the Iceberg metadata cache is managed through the file system cache and can be controlled by options like fs.cache.max-sizes. Is that correct? |
Beta Was this translation helpful? Give feedback.
-
@raunaqmorarka |
Beta Was this translation helpful? Give feedback.
-
fyi @sheajamba |
Beta Was this translation helpful? Give feedback.
-
@raunaqmorarka
Which of these two is correct? |
Beta Was this translation helpful? Give feedback.
-
Hello Trino Community,
I have a question regarding the metadata caching functionality in Iceberg. I am planning to use Trino with the
iceberg.metadata-cache.enabled
option set totrue
, which I understand helps to cache Iceberg table metadata and improve query performance. However, I am curious about how I can ensure that the cache is automatically refreshed when the underlying Iceberg table metadata changes.Specifically:
Any guidance or suggestions would be greatly appreciated. Thank you!
Best regards,
byunks
Beta Was this translation helpful? Give feedback.
All reactions