rizaon commented on code in PR #4518: URL: https://github.com/apache/iceberg/pull/4518#discussion_r978887511
########## core/src/main/java/org/apache/iceberg/CatalogProperties.java: ########## @@ -57,6 +58,68 @@ private CatalogProperties() {} public static final long CACHE_EXPIRATION_INTERVAL_MS_DEFAULT = TimeUnit.SECONDS.toMillis(30); public static final long CACHE_EXPIRATION_INTERVAL_MS_OFF = -1; + /** + * Controls whether to use {@link ContentCache} during manifest file reads or not. + * + * <p>This value will be ignored and the file cache will be disabled if any of the following is + * true: + * + * <ul> + * <li>{@link #IO_MANIFEST_CACHE_EXPIRATION_INTERVAL_MS} is set to negative number. + * <li>{@link #IO_MANIFEST_CACHE_MAX_TOTAL_BYTES} is set to non-positive value. + * <li>{@link #IO_MANIFEST_CACHE_MAX_CONTENT_LENGTH} is set to non-positive value. + * </ul> + */ + public static final String IO_MANIFEST_CACHE_ENABLED = "io.manifest.cache-enabled"; + + public static final boolean IO_MANIFEST_CACHE_ENABLED_DEFAULT = false; + + /** + * Controls the duration for which entries in the {@link ContentCache} are cached. + * + * <p>Behavior of specific values of cache.expiration-interval-ms: + * + * <ul> + * <li>Negative Values - Caching disabled Review Comment: Clarified the documentation. ########## core/src/main/java/org/apache/iceberg/CatalogProperties.java: ########## @@ -57,6 +58,68 @@ private CatalogProperties() {} public static final long CACHE_EXPIRATION_INTERVAL_MS_DEFAULT = TimeUnit.SECONDS.toMillis(30); public static final long CACHE_EXPIRATION_INTERVAL_MS_OFF = -1; + /** + * Controls whether to use {@link ContentCache} during manifest file reads or not. + * + * <p>This value will be ignored and the file cache will be disabled if any of the following is + * true: + * + * <ul> + * <li>{@link #IO_MANIFEST_CACHE_EXPIRATION_INTERVAL_MS} is set to negative number. + * <li>{@link #IO_MANIFEST_CACHE_MAX_TOTAL_BYTES} is set to non-positive value. + * <li>{@link #IO_MANIFEST_CACHE_MAX_CONTENT_LENGTH} is set to non-positive value. + * </ul> + */ + public static final String IO_MANIFEST_CACHE_ENABLED = "io.manifest.cache-enabled"; + + public static final boolean IO_MANIFEST_CACHE_ENABLED_DEFAULT = false; + + /** + * Controls the duration for which entries in the {@link ContentCache} are cached. + * + * <p>Behavior of specific values of cache.expiration-interval-ms: + * + * <ul> + * <li>Negative Values - Caching disabled + * <li>Zero - Cache entries expires only if it gets evicted due to memory pressure from {@link + * #IO_MANIFEST_CACHE_MAX_TOTAL_BYTES} setting. + * <li>Positive Values - Cache entries expire if not accessed via the cache after this many + * milliseconds + * </ul> + */ + public static final String IO_MANIFEST_CACHE_EXPIRATION_INTERVAL_MS = + "io.manifest.cache.expiration-interval-ms"; + + public static final long IO_MANIFEST_CACHE_EXPIRATION_INTERVAL_MS_DEFAULT = + TimeUnit.SECONDS.toMillis(60); + + /** + * Controls the maximum total amount of bytes to cache in {@link ContentCache}. + * + * <p>Behavior of specific values of cache.content.max-total-bytes: + * + * <ul> + * <li>Non-Positive Values - Caching disabled Review Comment: Clarified the documentation. -- 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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org