Iceberg tables: Updates to metadata retention period¶

Attention

This behavior change is in the 2024_02 bundle.

For the current status of the bundle, refer to Bundle History.

Snowflake determines the metadata retention period for Iceberg tables that use a catalog integration as follows:

Before the change:

Snowflake retrieves the value of history.expire.max-snapshot-age-ms from the current metadata file, converts the value to days (rounding down), and stores it in the DATA_RETENTION_TIME_IN_DAYS parameter.

If Snowflake doesn’t find history.expire.max-snapshot-age-ms in the metadata file, or can’t parse the value, it sets DATA_RETENTION_TIME_IN_DAYS at the table level to a default value of 5 days (the default Apache Iceberg value).

You can also change the value of DATA_RETENTION_TIME_IN_DAYS manually.

After the change:

Snowflake sets DATA_RETENTION_TIME_IN_DAYS at the table level to whichever of the following values is smaller:

  • history.expire.max-snapshot-age-ms

  • The following value, depending on your Snowflake account edition:

    • Standard Edition: 1 day.

    • Enterprise Edition or higher: 5 days.

You can’t change the value of DATA_RETENTION_TIME_IN_DAYS manually. Instead, you must update history.expire.max-snapshot-age-ms and refresh the table.

Ref: 1519